일단 보안취약점을 살펴보려면, 당연히 C 언어를 공부하셔야하고요.
운영체제는 다양하게 아시는 것이 좋죠.
그 중에 리눅스(linux) 운영체제는 필수고요.
파이썬은 데이터 과학과 같이 데이터 처리하는 쪽이나, 미들웨어의 장고 등에서 사용하는 것이죠.
보안과 관련된 분야는 아닙니다.
화이트 해커도 "해커"라는 말이 붙어있듯이, 당연히 해킹을 할 줄 알아야해요. 그렇지 않으면 보안취약점을 알 수가 없죠.
제 후배중 하나가 대기업서버를 해킹한 적이 있는데 그것이 걸려서 화이트해커 형태로 국가에서 일을 하는대신 감형을 받을 적이 있었어요.
제가 다니던 회사 시스템이 해킹이 된 적 있었는데, 제가 아는 방법으로 해킹을 들어와서 저도 그 방식대로 회사 시스템을 해킹해서 조사한 적이 있었고요.
일단 보안취약점들에 대해서 자세하게 아실려면, 소프트웨어 뿐 아니라 하드웨어쪽도 알고 있어야 하고요. 네트웍이 어떤식으로 동작하는지. 각각의 운영체제에 파일시스템 등이 어떻게 구성되고 네트웍 시스템이 어떻게 구성되는지 폭넓게 알고 계셔야해요.
보안 관련해서 암호화 이야기도 많이 나오긴 하지만, 솔직히 해킹으로 암호를 풀 수 있는 방법은 없어요. 암호를 풀기 위해서는 천문학적인 시간이 필요하죠. 하지만 암호화 기법은 알고 있어야 하죠. RSA 암호같은 것을 이해하려면, 고도의 수학 이론도 이해하고 있어야 하고요. (고도라고 썼지만 정수론 기반이라서) 확률적 분석 등도 필요해서 확통도 잘 해야 하고요.
결국 수학공부하는 것이 현재 상태에서는 해킹 기술에 가까워지는 것이 아닐까 하네요.