오늘 끝나면
화이트해킹이란
- ✓화이트해킹이란의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 화이트해킹이란이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
허가받은 침투 — 공격자처럼 생각해 먼저 막는 일 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
화이트해킹 · 01
화이트
해킹이란
허가받은 침투로 약점을 먼저 찾아 막는 일이다.
공격자처럼 생각하되 부수려는 게 아니라 지키려는 것이다.
전제는 단 하나, 명시적 허가다. 없으면 범죄다.
허가받고 먼저 부수는 사람
해킹 하면 검은 후드티에 불법이 떠오른다. 화이트해킹은 정반대 자리에 있다.
화이트해커는 시스템 주인에게 허락을 받고 일부러 침투한다.
공격자가 들어오기 전에 약점을 먼저 찾아 보고하고 막게 하는 일이다.
침투 시험(펜테스트)과 버그 바운티가 다 이쪽이다.
행위 자체는 공격자와 닮았다. 가르는 건 딱 하나다.
허가가 있으면 방어이고 없으면 범죄다.
그래서 화이트해킹은 기술이기 전에 약속에서 시작한다.
시스템 침투
+ 주인의 서면 동의
시스템 침투
+ 동의 없음
화이트 · 블랙 · 그레이
해커를 모자 색으로 나눈다. 기준은 능력이 아니라 허가와 의도다.
화이트는 허가받고 약점을 찾아 알려주는 방어 편이다.
블랙은 허가 없이 침투해 이득을 챙기는 범죄다.
그레이는 허락 없이 뚫지만 알려는 준다. 선의여도 불법일 수 있다.
같은 취약점을 찾아도 갈림길은 그 다음이다.
주인에게 보고하고 고치게 하면 화이트이고 몰래 쓰거나 팔면 블랙이다.
이 코스가 가는 길은 처음부터 끝까지 화이트다.
찾아서 알려준다
뚫고서 알려준다
뚫어서 챙긴다
지키는 것 셋, CIA
공격을 막는다는 건 막연하다. 무엇을 지키는지부터 셋으로 못박는다.
보안 3요소는 CIA다.
기밀성(Confidentiality)은 볼 사람만 본다는 뜻이다.
무결성(Integrity)은 함부로 못 바꾼다는 뜻이다.
가용성(Availability)은 필요할 때 살아 있다는 뜻이다.
공격은 이 셋 중 하나를 깨는 일이다.
유출은 기밀을, 위변조는 무결성을, 서비스 마비는 가용성을 깬다.
그래서 약점을 볼 땐 묻는다. 이건 셋 중 무엇을 무너뜨리나?
볼 사람만 본다
함부로 못 바꾼다
필요할 때 살아 있다
공격 = 이 셋 중 하나를 무너뜨리기
공격 표면을 직접 더듬다
공격자는 코드부터 짜지 않는다. 먼저 데이터가 어디로 들어가나를 센다.
데이터가 들어오는 문 하나하나가 공격 표면이다.
로그인, 검색, 업로드, API, 관리자 페이지가 모두 그런 문이다.
문마다 잠재 위험과 방어책이 짝으로 붙는다.
표면이 넓을수록 지킬 게 많아진다. 그래서 안 쓰는 문은 닫는 게 방어의 시작이다.
공격자는 코드부터 짜지 않는다. 먼저 데이터가 어디로 들어가나를 센다. 그 문 하나하나가 공격 표면이다. 위에서 문을 눌러 본다.
취약점과 익스플로잇
앞으로 가장 많이 들을 두 단어다. 헷갈리는데 짝으로 외우면 쉽다.
취약점(vulnerability)은 시스템의 약점 그 자체다.
잠기지 않은 창문 같은 것이다. 있어도 아직 아무 일도 안 일어난다.
익스플로잇(exploit)은 그 약점을 실제로 이용하는 기법이다.
창문으로 손 넣어 문을 여는 동작이다. 약점을 사고로 바꾸는 순간이다.
방어는 둘 다를 본다.
취약점을 찾아 미리 메우고(패치), 익스플로잇이 통해도 피해를 줄이게(완화) 막는다.
화이트해커는 익스플로잇이 도는 걸 보여줘서 패치를 서두르게 만드는 사람이다.
Q. 화이트해킹이 합법이 되려면 반드시 있어야 하는 전제는?
정답은 명시적 허가와 범위(scope)다.주인의 허락, 그리고 어디까지 건드려도 되는지 정한 범위가 있어야 한다.
이게 없으면 선의로 약점을 찾았더라도 침투 자체가 범죄다.
능력이나 의도가 아니라 허가가 화이트와 블랙을 가른다.
잠기지 않은 창문
있어도 아직 아무 일 없음
창문으로 손 넣어 문 열기
약점을 사고로 바꾸는 동작
창문 잠그기(패치) + 들어와도 금고 따로 잠그기(완화)