해킹 기본적인 용어 개념 정리

얼마전 소설로 배우는 해킹과 보안이라는 책을 읽었다. 이 책의 특징은 소설형식으로 해킹과 보안에 대한 짤막한 지식을 전달해 준다. 깊은 이해보다는 이런 것이 있다~라는 정도로 마무리 하기 때문에 해킹과 보안에 막 관심을 갖는 초보자들에게 적합하다.


이 책에서 소개하는 쉬우면 쉽고 어려우면 어려운 개념들을 정리해 보았다.


허니팟(Honey Pot) - 취약점을 미리 만들어 놓고 해커를 유인하는 것. 예를 들어 가짜 AP(Access Point)-무선 네트워크를 연결하는 장치.


제로데이 공격(Zero day attack) - 보안취약점이 발견되었을 때 이에 대한 대비책(패치)들이 미약한 상태다. 이를 노려 공격하는 것을 말한다.


백도어(back Door) - 보안 허점을 이용하여 시스템에 지속적으로 출입가능한 문을 만들어 놓는 프로그램을 말한다.


키로깅(Key Logging) - 키보드의 입력정보를 빼내는 행위


스크립 키디(Script Kiddie), 스키디(Skiddie) - 해킹에 대한 지식없이 해킹툴을 사용하여 크래킹을 하는 크래커


버그 바운티(Bug Bounty) - 보안 취약점을 알려주면 포상을 해주는 제도


APT(Advanced Persistent Threat) 공격 - 계획적으로 특정 대상을 지능적으로 공격하는 것을 말한다.


사전 공격(Dictionary Attack) - 비밀번호가 될만한 조합들에 대한 준비된 데이터를 대입하여 비밀 번호는 푸는 것을 말한다. 

사전 공격에 대해서는 좀 의심가는 사이트가 있다. 비밀번호를 푸는데 걸리는 시간을 체크해주는 사이트가 있는데 이 사이트가 만약 사용자들이 입력한 내용을 수집한다면 사전공격에 이용될 수도 있겠구나 라는 생각이 든다. 위 사이트에 내 비밀번호를 입력해 봤는데, 결국 뭔가 찜찜해서 비밀번호를 다 바꿨다.. 


칼리리눅스, 백트랙 - 해킹을 하기 편리하도록 만들어진 리눅스


ARP Spoofing - ARP를 속이는 행위 (ARP는 IP주소로 MAC주소를 찾는 프로토콜이다.)

윈도우 커맨드 창에서 arp -a를 입력하면 ARP 테이블을 볼 수 있다.

책에서는 A라는 사람이 자신의 스마트폰의 맥주소를 특정 공유기의 맥주소로 바꿔치기해서 다른 사람이 공유기를 사용할 때 악성코드를 심는 예를 들고 있다.


해커스쿨 ftz - 모의해킹을 할 수 있는 서버인 듯 싶다. 문제해결을 하면 다음 단계로 올라가는 시스템이 있는 것 같은데. 관련 책도 있는데 다음에 이것을 한번 가지고 놀아볼 생각이다.


배쉬 버그(Bash Bug) - 3년전(2014년 9월 24일에 밝혀진 버그) 배쉬 취약점으로 발칵 뒤집어 졌었는데 Bash Shell이 오래동안 사용되 왔고 그 동안 이 버그를 통해 해커가 악용되왔더라도 몰랐었기 때문이다.  참고


크로스 사이트 스크립팅(Cross-Site Scripting), XSS- 사이트의 게시판 방명록 같은 곳의 취약점을 이용해서 글과 함께 악성 스크립트를 담아 올리면 이를 보는 사람들은 악성 코드에 감염된다. 방어책으로 사이트에서 이런 코드를 심지 못하게 필터링해야 한다.


SQL-Injection - SQL 쿼리문의 취약점을 이용해서 해커가 원하는 목적(로그인, 데이터 변조, 삭제 등)으로 SQL 쿼리는을 변조하는 방식의 공격이다. 대략 쿼리문에 데이터를 넣는 자리에 쿼리문을 교묘하게 집어넣어서 true값이 반환되게 하는 방식같다. 구체적인 방식은 따로 포스팅 할 예정.


디지털 포렌식 - 디지털 정보 분석을 해서 범죄 증거를 찾는 것을 말한다. 디지털 증거의 법적 효력의 유효성 등에 대한 공부도 해야할 듯 싶다.


덤프(dump) - 해킹에 직접 관련된 용어는 아니지만 덤프란 저장 매체의 내용을 출력하는 것을 말한다. 덤프 영역(dump area)이라하면 덤프가 되는 영역을 말하고 메모리 덤프는 메모리를 덤프시키는 것, 스토리(storage)지 덤프는 저장 스토리지를 덤프시키는 것 이다. 프로그래밍 디버깅 시에 충돌이나 어떤 문제가 발생했을 때 메모리를 덤프해서 덤프파일을 생성한다. 이 파일을 분석하면 프로그램의 충돌이나 문제가 발생했을 때의 메모리 상태를 분석하여 문제를 해결할 수 있다.


메타 데이타(meta data) - 메타라는 말은 정보의 정보다. 예를들어 어떤 문서 데이터가 있을 때 이 문서의 작성자, 작성날짜, 용량 등의 데이터가 메타데이터인 것이다.


PGP(Pretty Good Privacy) - 파일 암호화, 복호화 프로그램. 이메일의 표준이다.


OpenSSL - 네트워크 데이터 통신에 쓰이는 프로토콜의 오픈 소스 구현판.(위키 참고)


하트블리드(Heartbleed)  - OpenSSl의 버그로 이 공격을 통해 개인 키 및 세션 쿠키 및 암호를 훔칠 수 있다. (위키 참고)


VPN(Virtual private network) 가상사설망 - 인트라넷과 같은 사설망이지만 VPN은 인터넷 상에서 사설망 같이 이용하는 것이다. 따로 인트라넷 환경을 구축할 필요 없이 기존 인터넷 환경을 이용하므로 비용이 적게 든다. 암호화를 통해서 가설 사설망에 묶여있는 PC들의 익명성을 보장할 수 있기 때문에 다른 목적으로 사용하기도 한다.


대칭키 암호화 방식, 비 대칭키 암호화 방식(공개키 암호화 방식이라고도 한다), SSL


파일 업로드 취약점 - 게시판 등에 첨부파일을 업로드하여 서버 내에서 명령을 실행하도록 하는 것. 이런 악성코드를 웹쉘이라고 한다.


Footprinting - 해킹의 사전작업으로 타겟에 대한 정보를 수집하는 것.


IPS(Instrusion Prevention System) - 침입 방지 시스템


와이어 샤크 - 패킷 분석 툴


DDos(Distributed Dos) - Dos는 Denial of Service, 서비스 거부 공격.


웜(Worm) - 바이러스와 달리 독자적으로 실행되고 복제된다. 네트워크를 통해 전파되거나 네트워크를 손상시킨다. 바이러스가 파일을 감염시킨다는 것과 비교된다.


루트킷(RootKit) - 해킹 대상자가 해킹 사실을 알아차리지 못하도록하는 기술이 포함된 해킹도구 모음. Root(시스템권한) + Kit(툴을 구현하는 소프트웨어 구성 요소)의 합성어

'해킹 보안' 카테고리의 다른 글

해킹 기본적인 용어 개념 정리  (0) 2017.05.11
이 댓글을 비밀 댓글로