오늘의 주제는 제목대로 '해킹을 하려면 프로그래밍 언어를 알아야 할까?' 입니다.
네이버에 검색을 해보면 오늘의 주제같은 질문글이 엄청 많습니다.
그러나 답변을 보면 이유없이 필요하다고만 하는데요.
저는 조금 다른 방식으로 해커의 관점에서 프로그래밍이 왜 필요한가? 에 대해 알려드리려고 합니다.
이전 글에서 해킹을 하려면 많은 시간을 데이터 분석에 쓴다고 했었습니다.
데이터를 분석하는 방법에는 몇가지가 있는데요.
첫번째로는 직접 기계어(어셈블리어)를 읽어가며 분석하는 방법과
두번째로는 C언어, php, python으로 작성된 프로그램을 분석하는 방법
세번째로는 데이터에 대해 설명해놓은 PDF파일 등을 읽는 것입니다.
첫번째 방법은 분석하는 사람에 따라 다르지만 가장 많은 시간이 소요됩니다.
세번째 방법은 분석하는데 가장 적은 시간이 소요되지만, 친절하게 설명해놓은 PDF파일은 찾기가 어렵습니다.
이제 두번째만 남았네요. 프로그래밍을 할줄 알아야 작성된 프로그램을 읽을 수 있습니다.
이것이 첫번째로 해킹을 하기 위해 프로그래밍이 필요한 이유입니다.
자, 우리는 해킹을 하기위해 데이터 분석을 마쳤습니다.
그런데, 데이터 분석을 끝내고 나니 해킹을 하려면 입력해야할 데이터가 약 1만 바이트(데이터의 단위) 만큼 필요합니다.
손으로 입력하기는 너무 힘들겠죠. 그래서 우리는 해킹할 프로그램을 작성합니다.
이것이 두번째 프로그래밍이 필요한 이유입니다.
해킹공격에 사용할 프로그래밍 언어는 중요하지 않습니다.
중요한건 정확하게 해킹공격을 할 수 있는 프로그램을 만들었다는게 중요하죠.
그래서 보통 주력 언어 한개만을 사용하고 나머지 언어는 읽을 수 있는 정도만 되면 됩니다.
저같은 경우에는 python을 주력으로하고 C, C++은 할줄 알지만, 많이 사용하진 않습니다.
메모리를 다뤄야할 경우에는 C, C++이 편한 것 같습니다만, python의 라이브러리를 사용하면
딱히 차이가 나진 않다고 하더군요. 그 외에 javascript는 약간 할 수 있는 정도입니다.
궁금하신게 있다면 댓글로 남겨주세요.
확인하고 답변해 드리겠습니다. ^^
'해킹' 카테고리의 다른 글
해킹공격을 막을 수 있는 IPS를 알아보자! (0) | 2020.04.08 |
---|---|
KISA 취약점 신고해서 포상금이 나왔습니다. (5) | 2020.04.07 |
해킹을 막는 방화벽에 대해 알아보자! (3) | 2020.04.07 |
리눅스 설치 후 SSH 설정하는 방법, 포트 및 개인키 설정 (0) | 2020.04.06 |
C언어 독학, 해킹을 배우려면 필요한가? (3) | 2020.04.04 |