2022. 3. 22. 19:04ㆍ보안/보안 취약점 진단
● 정보보안에서의 취약점 분석이란?
공격하기 전 시스템의 취약점에 대한 정보를 미리 알아보는 과정
보안 홀을 발견하고 제거하는 과정
이를 통해 보안 대책의 성공 가능성을 예측하고 성공률을 점검할 수 있다.
● 취약점 진단과 모의해킹의 차이점.
취약점을 발견하는 시점까지를 취약점 분석이라고 한다면 이 이후 발견한 취약점으로 정보를 유출하거나 확인하는 정도까지를 모의 해킹 이라고 한다.
● 취약점 진단 구성요소
1. 물리적 요소
물리 보안은 융합 및 커넥티드 화 되고, 경계가 모호한 상황에서 융합 IT환경에 적합한 새로운 분류체계가 필요하다. 따라서 현 분류체계에서는 물리보안과 융합 보안을 구분하고 있지만, 현실을 고려해볼 때, 이미 물리 보안은 융합 보안에 포함되었다고 볼 수 있다. 융합 IT환경 이전의 물리 보안은 대부분 주체가 사람으로 동작과 행위를 통제하거나 모니터링 하는 단순 기능의 제품이었다.
하지만 최근 스마트 기기와 사물 인터넷 기기들의 보급이 확산되면서, 자동차와 항공, 선박 등 여러 산업분야에 서 활용도가 높아지고 있으며, 드론을 이용한 해킹 공 격과 원격지 CCTV의 모니터링, 지문 인식 정보의 크 랙(crack), 도용 등 융합 IT환경에서의 치명적인 취약 요인들이 추가적으로 새롭게 나타나고 있다.
가. 비 IT환경의 물리적 취약요인
비 IT환경의 물리적 침해는 주체가 대부분 사람이며, 침해 대응은 주체의 동작이나 행동을 감시 및 모니터링 한다.
출입 관리에 따른 침해:
카드키
비인가자의 건물전체에 대한 출입을 통제하기 위해 방문자의 이동경로를 방문 층으로 제한함으로써, 피해를 최소화하는데 목적이 있다
다른사임이 이용할수 있다는 단점 > 카드키에 대한 담당 인원의 추가 배치
영상 관리에 따른 침해 유형:
카메라를 통 해 감시함으로써 보안시설이나 장소 등에 대한 안전 을 모니터 하는 것이 목적
카 메라의 해상도 및 회전반경의 사각지대, 데이터의 보 존기한 등의 문제>관 리자는 영상장비의 특성과 영상 데이터에 대한 보존 기한 등의 관리와 충분한 모니터링 인원의 배치
방재 관리에 따른 침해 유형:
화재로 인한 피해 및 침해에 대한 취약요인을 포함하고 있다.
취약성으 로 노후로 인한 오동작이나 고의적인 동작강제 등의 문제점 > 정기적인 점검과 CCTV와 같은 2차 물리보안장비를 함께 배치
차량 관리에 따른 침해 유형:
차량과 사람에 대한 통제를 하는 것이 목적이다
통제지역 외의 출입 > 통제및 관리자는 카메라, 탐지견, 반사거울, 탐지기 등2 차, 3차의 물리적 보안 기술을 이용
적외선 관리에 따른 침해 유형:
인가자 및 비인가자에 대한 발열자와 야간 침입자에 대한 식별의 취약요인 > 적외선 감지 카메라를 통해 발열자의 식별과 야간침입자에 대한 동선 및 움직임을 모니터링
나. 융합 IT환경의 물리적 취약요인 및 대응
물리적 침해의 주 체는 사람이지만, IT환경의 구성요소가 대상
네트워크 포트의 물리적 침해:
인가자와 비인가자로부터 네트워크의 무단 사용을 통제하는 것이 목적
네트워크 포트를 오용 및 공격에 사용하는 문제 > 불필요한 네트워크 포트에 대해 통제하기 위해 포트를 막음
USB 포트의 물리적 침해 :
인가자 및 비인가자로부터 USB를 이용한 정보의유출을 방지하는 것이 목적
자신의 USB에 복사되어 있는 악성프로그램으로 인해 유출이 가능 > USB 포트락을 사용하여불필요한 USB 포트에 대해 다른 사용을 금지하기 위해 포트자체를 막아버림
시스템의 저장매체에 대한 물리적 침해:
시스템의 사용자 를 통제
내부 사용자의 경우, 신뢰를 전제로 대부분 사용을 허용하 고 있어 정보의 유출이 쉽게 발생 > 접근을 차단하 기 위한 폐쇄락을 사용
시스템 구동을 위한 물리적 침해:
시스템 사용을 제한 하는 것이 목적
내부자에 의해 시스템 사용을 요구받았을 때, 부득이하게 허용 함으로써 유출문제가 쉽게 발생 > 생체 인식장치를 이용 해 사용을 제한
저장매체에 저장된 데이터의 물리적 침해:
하드디스크의 데이터를 복원하지 못하도록 삭제하는 것이 목적
데이터의 완전 삭제방법에 일반적으로 알려져 있지 않아 오래된하드디스크의 교체 등으로 데이터를 복원 > 전자기를 이용한 데이터 삭제를 통해복원이 불가능하도록 한다.
모니터에 대한 물리적 침해:
비인가자에 의해 모니터를 통해 작업 내용이 유출되지 않아야 한다.
사회공학적 공격에 의해 쉽게 유출 > 모니터에보안 필름을 붙여 시야 각도를 제한함
2. 네트워크 요소
망분리: 외부의 침입을 막고 내부 정보의 유출을 막는 것을 목적으로 내부 업무 전산망/외부 인터넷망을 논리적/물리적으로 분리한 보안 강화 기법
유형
물리적 망 분리:2대의 PC나 망 전환 장치를 이용, 업무용/인터넷용 PC를 구분하여 사용
- 보안성 및 응답 속도가 높음
- 소프트웨어 및 네트워크 구성 비용이 2배 소요
- 금융권(보안성 중시)에서 많이 사용
논리적 망 분리
가상화 머신을 탑재한 서버 (SBC - Server Based Computing) 및 PC (CBC - Client Based Computing)을 두고 업무 처리 시 가상화 하여 이용
- 효율적 가격으로 망분리 가능
- 유연한 구성 및 제거 가능
- 보안 측면에서 상위 PC(컨테이너) 감염 시, 하위까지 침해 당할 수 있음
- IT회사(효율성 중시)에서 많이 사용
네트워크 보안취약점 종류
불필요한 서비스와 정보 제공, 서비스 거부 공격, RPC, HTTP, SMTP, FTP, BIND, FINGER, 버퍼오버플로우 등
네트워크 공격: 네트워크 패킷 도/감청을 하는 공격으로, 종류는 스니핑, 스푸핑, 세션 하이재킹
서비스 거부 공격: 서버의 자원을 소비시켜 시스템을 다운시키는 공격으로 종류로는 SYN Flooding, UDP Flooding, Land 공격, Ping of Death, Smurf 공격, Tear Drop, Tiny Fragment 공격, Fragment overlap 공격
네트워크 스캐닝 공격: 공격전 취약점을 파악하는 것입니다. 종류로는 TCP Scan, UDP Scan
3. 시스템적 요소
시스템 보안취약점 종류
Race Condition, 환경변수, 계정 및 패스워드, 접근권한, 시스템 구성, 네트워크 구성, 버퍼오버플로우, 백도어 등
관리적 관점에서 봤을 경우
조직과 조직에서의 정보자산 운영을 위해 어떠한 취약점이 존재하는지를 바라봐야 합니다. 상세 분류에서는 업무 프로세스가 적합한지, 보안에 적절한 예산이
분배되고 있는지, 시설물에 대한 유지보수가 잘 이루어지고 있는지 등의 정보보호 운영에 대한 취약점을 점검합니다. 정보보호 관리의 취약성은 주로 조직 내 정책과 지침의 준수가 잘 이루어 지는지, 조직 내 전담 인력이 존재하여 보안 활동을 잘 수행하는지, 정보보호 교육을 통한 임직원들의 정보보호에 대한 의식을 제고하고 있는지 등을 점검합니다. 인적 관리에서는 임직원도 하나의 자원이라는 관점으로 바라보아 인적 자원으로 발생할 수 있는 보안 취약점을 점검합니다.
4. 웹서비스 요소
웹서비스 취약점 종류
웹 서버, 방화벽 서버, IDS 서버, 데이터베이스 서버, 소스코드 취약점 등
가장 흔한 OWASP Top 10
OWASP: 국제 웹 보안 표준기구 OWASP는 오픈소스 웹 애플리케이션 보안 프로젝트이다. 주로 웹에 관 한 정보 노출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하며, 10대 웹 애플리케이션의 취 약점을 발표했다.
1. Injection : 인젝션 / 명령어 삽입 취약점
클라이언트의 요청을 처리하기 위해 전달받은 인수에 특정 명령을 실행하는 코드를 포함시켜 공격하는 방법이다. 이런 Injection 공격은 SQL, OS, LDAP 등 웹을 통해 명령을 전달하는 어떠한 경우에도 적용될 수 있다. 전송받는 인수에 포함된, 특정 명령을 실행하는 코드를 적절히 필터링하지 못하면 삽입 공격에 대한 취약점이 발생하고 명령 삽입 공격은 SQL, OS, LDAP 등 웹으로 명령을 전달하는 모든 경 우에 적용 가능하다. 웹 서버에서 데이터베이스로 전송되는 SQL 쿼리에는 아이디, 패스워드, 검색어 등 여러 가지 인수가 사용된다.
2. Broken Authentication and Session Management / 인증 및 세션 관리 취약 점
인증이나 세션 기능이 미흡하다면 공격자가 허가되지 않은 여러 서비스에 접근하고 사용할 수 있다. 가장 대표적인 문제로 패스워드 설정으로서 패스워드를 취약하게 설정한 경우이다. 사용자 데 이터를 이용한 인증 취약점의 경우 서버에서 로그인된 사용자를 인증하기 위한 값으로 쿠키와 같은 세션 값을 클라이언트에게 전달하고 이때 공격자는 이 값을 이용해 연결하게 됨으로써 실 제 사용자의 요청인지 공격자의 요청인지 구별하기 어렵게 된다. 이런 문제는 최초 인증 후에는 인증과 신분 증명을 위한 역할을 클라이언트에게 위임했기에 발생하는 문제이다. 인증뿐만 아 니라 신뢰도의 증명 권한을 클라이언트에게 넘겼다면 얼마든지 더 악용될 수도 있다. 서버가 통 제해야 할 기능과 정보를 편의를 위해 클라이언트에게 전달함으로써 위험한 결과를 초래할 수 있다. 웹의 경우 대부분 전문 개발자가 개발하고 사용자는 이를 단순하게 이용할 뿐 관리자 패스워드 를 변경하는 인터페이스가 별도로 만들어져 있지 않아 사용자는 개발자가 처음 설정한 패스워 드를 그대로 쓰는 경우가 많다. 웹에서 Admin/Admin과 같이 취약한 패스워드를 자주 발견할 수 있다.
3. Cross-Site Scripting / XSS취약점
XSS(Cross-Site Scripting)는 공격자가 작성한 스크립트(Script)가 다른 사용자에게 전달되는 것을 말한다. 다른 사용자의 웹 브라우저 안에서 적절한 검증 없이 실행되므로 사용자 세션 탈취, 웹 사이트 변조, 악의적인 사이트로 사용자 이동시키거나 할 수 있다. 간단한 예로 알아보자면 사용자들은 웹 브라우저 내에서 검증 없이 해당 스크립트가 수행되므로 많은 문제를 야기할 수 있고 XSS 취약점이 존재하는 서버에 공격자가 스크립트를 작성하여 저장한다. 해당 웹 서비스를 이용하는 사용자는 자신이 게시글의 글을 읽는 등의 활동을 하며 인지도 하지 못한 채 스크립트 코드에 접근하게 되고 웹 서버는 요청에 의해 코드가 포함된 데이터를 사용 자에게 전달하고 시스템에선 전달받은 스크립트를 수행하게 되는 원리이다.
4. Broken Access Control / 취약한 접근 제어
Broken Access Control는 인증된 사용자가 수행할 수 있는 것에 대한 제한을 제대로 적용하지 않은 것을 의미한 다. 공격자는 이를 악용하여 사용자 계정 접근, 중요 파일 보기, 사용자 데이터 수정, 접근 권한 변경 등과 같이 권한 없는 기능을 사용하거나 데이터에 접근할 수 있다. 관리자 페이지가 추측하기 쉬운 URL이거나 인증이 필요한 페이지에 인증을 하지 않고 우회하여 접속할 수 있는 취약점이다. 인증된 사용자라 할지라도 접근하지 못하는 페이지들이 있는데 접근 불가한 페이지라도 취약한 제어는 사용자가 접 근할 수 없어야 하는 페이지도 접근할 수 있게 만드는 것이다. 공격자는 이런 방법을 이용해 다양한 문제를 일으킬 수 있다. 관리자 페이지에 접근을 했는데 URL만 알고 있으면 접근이 가능하거나 관리자가 사용할 수 있는 모든 기능 을 일반 사용자도 할 수 있는 등의 취약점이다. 이러만 문제를 막기 위해 세션 값을 확인하는 방안이 필요하고 페이 지뿐만 아니라 파일에도 적용해야 한다. 예시로 유튜브는 10만, 100만, 1000만 등의 구독자를 보유하면 그에 걸맞은 버튼을 기념으로 준다. 지금은 개선되 었지만 구독자를 보유하지 않는 사용자가 유튜브 URL 뒤에 /gold 등을 입력하면 골드 버튼을 신청하는 URL 페이 지로 넘어가는 경우가 있었다. 이처럼 일반적으로 접근을 제어해야 한 페이지에 일반 사용자들이 접근한 경우이다. 인증 우회나 접근을 막으려면 웹의 중요 페이지에 세션 값(쿠키)을 확인하는 검증 로직을 입력해 두어야 하고 프로그 램 개발 시 표준 인증 로직을 만들어 웹에 존재하는 모든 페이지의 앞부분에 입력해야 한다.
5. Security Misconfiguration / 보안 설정 오류
디렉터리 리스팅(Directory Listing)
웹 브라우저에서 웹 서버의 특정 디렉터리를 열면 관련 파일과 목록이 모두 나열되는 취약점이다. 디렉터리에 접근 하게 되면 모든 파일 리스트를 확인할 수 있는 경우가 있다. 관리자가 의도하는 경우도 있지만 대부분 관리자의 인지 하지 못하여 발생하는 문제가 대부분이며 대다수이다.
백업 및 임시 파일 존재
개발 시에 개발자가 백업 파일이나 임시 파일을 삭제하지 않고 있는 그대로 방치함으로써 백업 파일을 통해 웹 애플 리케이션의 내부 로직, 데이터베이스 접속 정보 등 내부 정보를 획득할 수도 있다.
미흡 환 주석 관리
웹 애플리케이션에서 웹 프록시를 이용하면 일반 사용자도 볼 수 있는 주석에는 웹 애플리케이션 개발 과정, 주요 로 직에 대한 설명, 디렉터리 구조, 테스트 소스 정보, 아이디와 패스워드 등이 기록된다. 주석 이와 같이 기재한다면 그 자체가 취약점이 된다.
파일 업로드 제한 부재
공격자가 웹 서버에 악의적인 파일을 전송한 뒤 원격지에서 실행하면 웹 서버 장악, 내부 침투, 버퍼 오버플로우, 포 맷 스트링 등의 공격 수행이 가능하다. 웹 서버에 어떠한 파일이라도 업로드할 수 있도록 방치하는 것도 공격자에게 공격을 위한 빌미를 제공하는 것이 된 다. 악성 파일을 전송하여 서버에서 실행하게 된다면 서부 내부 침투가 가능하게 되고 이런 악성 파일 업로드를 통해 리버스 텔넷 공격 등도 가능해지고 대부분 서버는 텔넷 등의 포트로 서버에 접속하지 못하도록 방화벽을 사용하는 데, 인바운드만 신경 쓰게 되고 아웃바운드에 대해선 인식이 미흡하다면 악성 프로그램 업로드로 서버에서 공격 자에게 텔넷을 연결하도록 할 수 있다.
6. Sensitive Data Exposur / 민감한 데이터 노출
웹 사이트 해킹으로 개인 정보가 유출되는 것은 신용카드 번호, 주민등록번호, 인증 신뢰 정보와 같은 민감한 데이터 를 보호하지 않는 것이 주요한 원인이다. 민감한 데이터를 보호하려면 데이터 중요도에 따라 암호화 로직을 사용하고 데이터베이스 테이블 단위에서 암호화 를 수행해야 한다. 인터넷 뱅킹과 같이 보안성이 중요한 시스템에서는 웹 트래픽을 암호화하는데 사용하는 암호화 알고 리즘이 약하거나 구조에 문제가 있다면 웹 트래픽이 복호화되거나 위조 또는 변조될 수 있다.
7. Insufficient Attack Protection / 공격 방어 취약점
웹 어플리케이션 레벨에서 기본적인 유효성 검사나 침입 탐지, 로깅, 공격 차단등의 로직을 포함해야 한다. 예전 웹 애플리케이션은 해킹 공격을 탐지(Detect), 방지(Prevent), 대응(Respond)할 수 있는 기능을 갖 추고 있지 않았다. APT 공격이 일반화되면서 보안 솔루션으로 탐지가 어렵자 웹 애플리케이션 수준에서 자동으로 탐지, 로깅, 응답 및 공격 시도 차단을 포함하도록 권고하고 있다.
8. Cross-Site Request Forgery / CSRF 취약점 CSRF(Cross Site Request Forgery)는 불특정 다수를 대상으로, 로그인된 사용자가 공격자가 의도한 행위(수정, 삭 제, 등록, 송금 등)를 하게 만드는 것을 말한다. XSS 공격과 매우 유사하지만 XSS공격과는 달리 스크립트가 사용자 가 아닌 서버에서 수행되도록 하는 구조적 차이가 있다. CSRF 공격이 성공하려면 수정, 삭제, 등록 과정에서 사용자를 구분하는 인숫값이 존재하지 않아야 한다. 특정 사용자를 구분하는 인수가 있으면 한 사용자에게만 적용되거나 인증 과정을 통해 CSRF 공격을 막을 수 있기 때문이다.
9. Using Components with Known Vulnerabilities / 취약점이 있는 컴포넌트 사용 컴포넌트, 라이브러리, 프레임워크 및 다른 소프트웨어 모듈이 다양하게 사용되면서 보안에 취약한 컴포넌트가 악용 되면 심각한 데이터 손실, 서버 장악이 가능해진다. 때문에 사용하려는 컴포넌트, 라이브러리의 보안 취약점을 충분 히 검토한 후에 사용해야 한다.
10. Underprotected APIs / 취약한 API
API를 통해 웹 서비스 상호 간의 연동이 이루어지므로 API 사용시 보안에 취약하지 않은지 충분한 검토가 필요하다.
참고:
Study on the physical vulnerability factors in the convergence IT environment (융합보안논문지 = Convergence security journal v.16 no.1 , 2016년, pp.59 - 68 전정훈 (동덕여자대학교 컴퓨터학과 ) ; 안창훈 ( (주)컴엑스아이 ) ; 김상춘 ( 강원대학교 정보통신공학전공))
https://jeongchul.tistory.com/438
https://isc9511.tistory.com/91
https://onecoin-life.com/29#Open_Web_Application_Security_Project_:_OWASP%EB%9E%80?
'보안 > 보안 취약점 진단' 카테고리의 다른 글
Hactor_안전하게끔 네트워크 설개하기 (0) | 2022.03.29 |
---|---|
Hactor 1일차 (0) | 2022.03.19 |