1. 모의해킹을 해야하는 이유
2. 버그헌팅 프로그램 전 윤리
3. 버그헌팅과 모의 해킹 차이
4. 고객과 협의 미팅 시 꼭 물어야할 것
5. 환경 분석, 공개된 서브세어 유출되는 정보
6. 서비스 이해하기
7. 프로젝트 진단 후 해야할 것
8. 실무에서의 취약점 진단 조치
9. 모의해커 관점에서 솔루션 검토의 중요성
10. 무선 AP 취약점에서의 중요점
1. 모의해킹을 해야하는 이유
1) 모의해킹은 업체의 의무
업체는 사용자의 개인정보를 지켜야하는 의무 존재.
법 차원에서의 모의해킹은
'정보보호관리체계인증'의 범위에서 '시스템 개발 보안' , '운영 보안'을 근거로 진행
범위가 좁음에도 시중에 모의해킹 인력의 수요가 많은 이유는 기술적 보호 조치 기준에 따라 고객 정보가 보호되었다고 판단되어도 정보 유출 가능 여부 판단을 위해 모의 해킹을 실행해야하기 때문
2) 침해사고 발생에 의해 기업 이미지 실추
회원 정보 유출에 의해 막대한 비용이 발생
2016년 인터파크, 2000만 건 이상의 고객 정보 유출 (과징금 45억 원)
2017년 여기어때, SQL Injection 취약점으로 인한 99만 건의 개인정보 유출 (다수의 회원 이탈)
등등
모의해킹 관점에서 모의해킹 시나리오로 점검할 수 있는 항목
솔루션만으로 모든 보안을 수행할 수 없음
모든 걸 범죄자 입장에서 고민하는 것, '모의해킹'
3) 의무 대상자가 법적으로 정해져 있음
정보보호관리체계인증(ISMS) 진단 항목에는 기술적 취약점(인프라 진단, 모의해킹) 포함
정보보호관리체계인증과 시큐어코딩 의무화 확대
개인정보보호관리체계(PIMS)도 추진 예정(불확실)
-> 보안이 법과 연관이 깊어 이는 인력의 필요성으로 연결
2. 버그헌팅 프로그램 전 윤리
일부 기관에서 진행되는 포상제는 운영 중인 서비스를 제외하고 로컬 PC에서 동작하는 애플리케이션에 한정
즉 '취약점을 찾다가 서비스 장애가 발생하거나 개인정보가 유출될 경우 수행한 사람에게 책임' 을 지겠다는 의미
버그헌팅을 해야하는 도메인이 정해져 있기 때문에 불법적인 행위로 판단
버그헌팅 프로그램에 참여할 시 주의해야 할 두가지
'공격 대상 범위'
'공격 기법 종류'
버그헌탱을 운영하는 사이트 목록
www.bugcrowd.com/bug-bounty-list/
3. 버그헌팅과 모의 해킹 차이
구분 | 모의해킹 컨설턴트 | 버그 헌팅 |
계약 여부 | 회사 간의 계약 | 대중적인 계약 |
공격점 | 웹 서비스, 모바일 서비스 등 정해진 범위 | 웹 서비스, 모바일 서비스 등 정해진 범위 |
공격 항목 | - 컨설턴트가 제시한 공격 항목 - 서비스 장애를 유발하는 공격 제외 |
- 회사가 제시한 공격 항목 - 서비스 장애를 유발하는 공격 제외 - 공격에 따른 포상금 다름 |
공격 시간 | 정해진 날짜와 시간 | 시간 제한 없음 |
결과적으로 모의해킹 컨설턴트는 버그헌팅을 하는 행위
모의해킹 업무에서 가장 중요한 것은 역량 강화 시간을 지원받을 수 있는 환경
4. 고객과 협의 미팅 시 꼭 물어야할 것
수행 대상, 일정, 인원을 확인
수행과정에서 발생할 수 있는 문제 공지
1) 고객에서 범위 두 세번 확인
2) 자동 진단 도구의 장단점 및 주의사항 전달
자동 도구는 환경에 맞게 필요한 수준에 따라 정책 프로파일(Profile)지정하여 진단
자동 도구로만 해결할 수 있는 항목들(불필요한 페이지 존재, 디렉터리 목록 취약점, 전 매개변수에 대한 입력 값 검증 여부 검토 등)
이 자동진단 도구에서 BOF 로 인한 서비스 정지 될 수도 있고 접속 장애 발생 가능성 존재 -> 이로 인한 운영 불가될 수도
3) 권리자 권한 획득 후 추가 진행 여부를 문의
사용자 페이지가 권리자 페이지보다 보안적으로 철저할 경우가 높음
4) 게시판 서비스 테스트 진단 시 주의할 점
웹 애플리케이션 취약점을 진단할 때 게시판을 많이 접함
신입 진단 컨설턴트의 경우 환경 분석 전에 자신의 지식을 반영하고자 함 (좋지 않음)
모의해킹은 정보 수집부터 위협 분석까지 명확한 절차에 따라 진행해야 함
게시판의 경우 다양한 입력 값 검증 시도
입력 값 검증은 데이터베이스에 직접적인 영향
가장 중요한 것은 생성한 게시판, 특히 삽입된 스크립트는 테스트 즉시 삭제 해야한다는 것
수행한 글이 남아 있으면 추후 문제 발생 혹은 사용자들이 첨부 파일에 웹셸이 올라온 걸 보는 건 좋지 않음
스크립트 삽입이 HTML 페이지 내에 보이는 것도 좋지 않음
웹셸도 삭제 되었는지 확인 해야함
5) 테스트 계정은 2개 필수
인증 처리 미흡을 검토할 때 번갈아가며 로그인 인증 해야 함
인증 처리 미흡의 주요 항목
- 다른 사용자 게시물 수정 및 삭제 가능
- 다른 사용자 개인정보 열람 가능
- 다른 사용자 주문 내역 변경
- 다른 사용자 세션 정보 획득을 통한 권한 획득
계정이 필요한 데 담당자가 제공하지 않을 경우
'계정 없이 접근할 수 있는 서비스를 모두 진단한 결과 취약점은 도출되지 않았다. 그러나 계정이 있을 때 접근할 수 있는 서비스에서는 취약점이 도출될 가능성이 있다.' 라는 것을 반드시 명시
5. 환경 분석, 공개된 서브세어 유출되는 정보
전세계 IP를 포트 스캔하여 정보 유출을 하는 쇼단과 같은 곳에서는 MongoDB와 같은 NoSQL 사용
쇼단이 악용하는 취약점은 데이터베이스 구축 시 기본 설정으로 설치할 경우, 기본 계정 정보나 인증 없이 접속할 수 있는 사용자 존재
쇼단은 MongoDB 포트 스캔을 검색해 노출된 정보를 저장 한 후 범죄자는 이를 통해 공격 스크립트를 만들고 테이블을 묶은 후 관리자에게 비트코인 요구
전세계적으로 약 2만 7천 개의 데이터 베이스가 하루에 훼손 되었고 현재진행형
그러므로 보안 전문가도 여러 오픈 서비스의 특징을 알고 대응해야 함
검색 서비스에 중요 페이지나 파일이 저장 되어 있을 경우 해당 서비스에 삭제 요청
중요 디렉터리에 접근 제한도 해야 함
서비스 검색에 노출되는지 주기적인 확인도 필요
구글 해킹 문서의 옵션을 이용하여 자사 서비스의 노출 정보 확인
범죄자가 오픈 서비스를 활용하는 만큼 보안 담당자도 오픈 서비스를 활용해 보안 위협 방지해야 함
환경 분석은 매우 중요, 환경 분석 단계부터 꼼꼼히 살피면서 고객사 서비스의 잠재적인 위협 파악해야
제대로 하지 않을 경우 프로젝트 후에도 문제 발생
6. 서비스 이해하기
서비스를 잘 이해해야 취약점을 잘 찾을 수 있음
7. 프로젝트 진단 후 해야할 것
1) 업로드된 불필요한 파일 삭제
2) 진단했던 테스트 계정 삭제
추가적 내용
컨설턴트는 영업적인 마인드 필요
컨설턴트의 역할은 고객의 요구를 잘 듣고 고객 서비스에 필요한 것이 무엇인지 제시해주는 것
- 고객의 말에 주의를 기울이기
- 자신의 회사가 보유하고 있는 솔루션과 연계해 컨설팅 결과를 최대한 부각
- 자신이 투입한 시간과 비용 생각해보기
8. 실무에서의 취약점 진단 조치
프로젝트 종류 후 각 담당자들이 모여 당장의 패치가 서비스에 어떤 영향을 미칠 지 논의
보안 담당자 입장에서는 빨리 패치해야 할 문제라도 담당자와 협의가 안되면 적용 어려움
패치를 하고자 하면 많은 변수가 생기기 때문
외부 개발 서비스나 솔루션을 경우 더 많은 시간이 소요
솔루션끼리도 충돌 문제 발생할 수있기 때문에 많은 테스트 필요
보안 패치 작업 시 가장 중요한 것은 각 담당자를 제대로 이해시키고 실 서비스 적용 전 충분한 검토
-> 보안 위협 수준을 수용할 수 있는지 솔루션 도입이 아니라 내부적으로 가능할 수 있는지 고민
컨설턴트와 실무자 간 취약점 합의가 안 될 때
문제는 컨설턴트가 제출한 보고서 내 취약점 영향이 실무자가 생각하는 취약점 영향과 다를 때 발생
컨설턴트는 취약점을 많이 찾은 걸을 자랑해야하는 게 맞지만 담당자의 경우 취약점의 영향을 크게 보이지 않도록 해야하는 경우 발생
이런 상황을 방지하기 위해 확실한 증거를 보고서에 포함
증거란 발견된 취약점이 서비스에서 어떤 위협을 가져올 지 보여주는 것
-> 이를 위해 시나리오 접근을 통해 서비스에서 어떤 정보까지 획득할 수 있는지 확인
ex) 악성 스크립트가 삽입됐음을 알리는 데서 끝내는 게 아니라 악성 스크립트를 통해 어떤 후속 공격들이 가능한지, 서비스의 기능을 살피며 적용
대응 방안을 세울 때는 서비스 특성 고려
진단하는 서비스를 고려하지 않고 프로세스와 가이드에 맞춰 모든 서비스를 동일하게 접근하면 안됨
컨설턴트와 취약점 찾는 진단자는 별개
취약점 제거를 위한 패치가 비즈니스에 손해를 끼친다면 다른 선택을 제시해야
-> 보안 3대 요소 중 하나인 가용성
(차라리 보고서에서 제외)
9. 모의해커 관점에서 솔루션 검토의 중요성
모의해킹 시각에서 BMT를 수행
BMT(Benchmarking Test)는 '장비 성능 시험' 의미
자체 개발 비용과 솔루션 도입 비용을 비교해 효율적인 것을 선택해야함
보안 적합성 검증이 필수인 곳은 자체 개발 제품 적용에 대한 문제가 있어 솔루션은 매년 검토해 시기적절하게 도입
개발자들과 토론하며 솔루션을 우회할 수 있는 기법을 찾아내고 적용해봐야함
보안 솔루션 취약점 평가사례
보안 솔루션 검토시 주의해야할 점
목적에 위배되는 것만 취약점으로 분류
기능별 우회가 어떤 영향을 줄 수 있는지 고민해야한다는 뜻
10. 무선 AP 취약점에서의 중요점
무선네트워크를 여러 관점에서 진단하는 방법
많은 곳에 무선 AP 설치
암호화 방식이 강화되고 있으나 보안 설정은 사용자가 직접하기 때문에 많은 위협 존재
무선 AP 보안을 위해 내부 규정을 세우고 무선 보안 솔루션을 도입할 것을 권고하지만 실제 보안을 고려하는 곳은 일부
IoT 시대가 도래하면서 무선 AP의 보안은 필수적
허가받은 무선 AP가 보안적으로 잘 적용돼 있는가?
최근 무선 AP는 WPA-PSK 암호 방식 지원
WEP 키 방식은 취약하여 설정이 불가능
그러므로 패스워드를 약하게 설정했거나 무선 AP의 펌웨어 취약점이 도출되지만 않는다면 문제 x
펌웨어 업데이트도 주기적으로 해주면 됨
허가된 사용자의 MAC 주소만 접근할 수 있도록 보안 설정을 강화할 수도 있으나 공격의 위협 존재
인가된 무선 AP에 접속하면 내부 시스템에 침투한 것과 같은 효과가 있다는 점에서 유선망을 이용한 것보다 더 쉬운 공격 루트
아래를 확인하면 관련 가이드를 볼 수 있다.
kisa.or.kr/public/laws/laws3_View.jsp?cPage=6&mode=view&p_No=259&b_No=259&d_No=17&ST=T&SV=
허가받지 않은 무선 AP가 내부 시스템과 연결돼 있는가?
내부 네트워크 망에 있는 모든 서버 및 단말 PC들에 무선 AP가 연결돼 있는지 점검하는 과정
무선 AP 보안은 전체적인 보안 등급을 결정할 정도로 매우 중요한 사안
내부 시스템에서 외부에 위치한 무선 AP에 연결돼 있는가?
점검하기 가장 어려운 부분
직원 단말 노트북에 무선 네트워크를 제어하지 않으면 공격자가 외부의 무선 AP를 목표로 잡을 경우 비인가 AP를 사용하는 것과 같은 효과가 발생
점검을 위해 사무실 전체를 일일이 돌아다니며 어떤 무선 AP가 잡히고 접속될 수 있는지 판단 해야 함
보안 위협 대응을 위해 단말 PC를 통제하고 WIPS(Wireless IPS) 도입 여부도 검토
'공부 > 모의해킹' 카테고리의 다른 글
모의해킹 진로를 선택했다면 (0) | 2021.05.08 |
---|---|
모의해킹 취업 준비 프로젝트 시 (0) | 2021.05.04 |