가볍게 시작하는 취미로 해킹

포함된 강의수: 6개

마지막 업데이트: 2019.11.20

  • 취미로 해킹#2(해커의 컴퓨팅)

    취미로 해킹#2(해커의 컴퓨팅)

    ₩33,000
  • 취미로 해킹#1(OverTheWire - Bandit)

    취미로 해킹#1(OverTheWire - Bandit)

    ₩33,000
  • 취미로 해킹#3(WebGoat)

    취미로 해킹#3(WebGoat)

    ₩55,000
  • 취미로 해킹#4(Nebula)

    취미로 해킹#4(Nebula)

    ₩33,000
  • 취미로 해킹#5(DIMICTF)

    취미로 해킹#5(DIMICTF)

    ₩55,000
장용하
만든 사람 장용하
다른 로드맵

여러분은 해킹이 무엇이라고 생각하시나요?

관련하여, 이야기를 하나 들려드리겠습니다.

 

 

개발자가 생각한 프로그램

 

 
 

실제 완성된 프로그램

 

버  그

소프트웨어의 버그는 평생 개발자를 따라다니며 괴롭힙니다. 그리고 어느 날은 어떻게 해도 도망쳐지지 않는다는 것을 알게 됩니다. 안타깝게도 운명입니다. 개발자가 아무리 똑똑해도, 개발사가 아무리 탄탄해도 다 소용없습니다. 어떻게든 버그는 발생하며 이는 만고의 진리입니다.
 
버그 때문에 막혀버리면 "왜 안 되지?"를 고민하고, 반대로 잘 되더라도 "이게 왜 되지?"를 심각하게 고민하며 오늘도 개발자는 버그와의 인연을 이어가고 있습니다.
 
 
 
 

보스급 버그

각 버그에는 급이 존재하는데 그중에는 보스급 버그도 있습니다. 우리는 이것을 보안 취약점이라고 부릅니다. 이것은 악성 행위를 촉발할 수 있으며, 이 때문에 누군가는 피해를 입을 수도 있습니다.
 
프로그램 출시 후, 2~3년 동안 아무도 모르게 잠복해있는 취약점은 무수히 많습니다. 9년 동안 알려지지 않았던 취약점(Dirty cow)도 있었고, 37년 만에 해결된 취약점(오픈 BSD head 버그)도 있었습니다.
 
현재도 확인된 지 20년 된 취약점이지만 개발사에서도 방치하는 취약점도 있습니다. 근데 그 개발사가 윈도우를 개발한 MS라면(MS 로그인 취약점 이슈) 어떤 생각이 드시나요?
 
결론적으로, 아무리 뛰어나도 세상 모든 취약점에 대처할 수는 없습니다. 취약점의 존재 여부를 미리 알 수 없거니와, 식별하더라도 이에 대응하는 것은 또 다른 영역이기 때문입니다.
 
 
 
 

 

디지털 오일

근미래에 고갈될 예정이라던 원유는 세계적으로 점점 더 그 매장량이 증가하고 있습니다. 최근 미국에서는 텍사스에서 대규모 유전을 발견하였는데, 이에 따라 미국이 곧 미국을 침공할 예정이라는 유머가 돌 정도입니다.

관련하여 취약점은 원유와 닮은 면이 있습니다. 세계 원유 매장량이 점점 증가하듯, 취약점 보고 횟수도 증가하고 있기 때문입니다. 위 자료는 연도별 취약점 보고 개수인데, '17년에 약 2만여 개가 발견되었고, '18년엔 약 2만 2천 개가 발견된 것으로 보고되는 등 꾸준히 증가 추세에 있습니다.

또한, 발견 시 정제하여 판매하면 돈이 된다는 점도 닮았습니다. 세계의 다양한 플랫폼에서, 등급에 따라 적게는 수십 달러에서부터, 많게는 건당 200만 달러까지 그 가치가 매겨지고 있습니다.

또한 원유 매장량이 증가하는 일반적인 경우는 3가지가 있는데, 이는 취약점에도 그대로 적용됩니다.

첫 번째는, 새 유전을 발견하는 경우입니다
  → 알려진 취약점이 묻은 채로 개발된, 새 프로그램을 발견하는 경우입니다. 프로그램은 컴퓨터 언어를 하루만 교육받더라도 특별한 제약 없이 개발할 수 있는 특징이 있습니다. 하지만 매년 꾸준히 쏟아지는 취약점에 대한 대책을 개발 시 모두 반영하는 것은 현실적으로 불가능합니다.

두 번째는, 기술의 발전으로 기존의 유전에서 생산량이 향상되는 경우입니다.
  → 해킹 기술의 발전으로 기존의 프로그램에서 새로운 취약점을 발견하는 경우입니다. 너무나 안정적이어서 패치가 필요 없다고 생각되던 프로그램에서도 취약점이 발견되는 사례는 적지 않습니다.

마지막은, 기술의 발전으로 원유를 채굴할 수 있는 자원(물질)의 범위가 확대되는 경우입니다.
  → 해킹 기술이 발전함에 따라 취약점을 발견할 수 있는 자원(프로그램)의 범위가 확대되는 경우입니다. 이는 "그런 (사소해 보이는) 곳에서도 취약점이 발견된다고?"라고 생각될 수 있는 영역입니다.

하지만 다른 부분도 존재합니다. 원유 탐사 및 채굴은 조직적인 규모로 접근해야 하는 반면, 취약점 발견의 경우, 첨단 IT 기술을 기반으로 Gig 경제가 활성화됨에 따라, 개인으로도 활동할 수 있는 환경이 점점 확대되고 있다는 점입니다.
 
 
 
 
 

그러면,

Q. 그러면, 취약점 발견은 어떻게 할 수 있을까요?
A. 취약점 발견을 위한 장비(툴)가 필요하며 관련 능력을 계발해야 합니다.

하지만 장비와 능력을 따로 떨어뜨려 생각할 필요는 없습니다. 실제와 유사한 가상 환경에서 취약점을 발견하는 트레이닝을 진행하면서 툴을 사용해보고 관련 능력도 기를 수 있습니다.

하지만 이를 위한 적합한 콘텐츠가 부족한 것이 현실입니다. 기초부터 튼튼하게 해야 한다고 말하는 각종 교육에서는, "C 언어 등을 먼저 시작해야 한다"고 이야기하면서 목표의 주변을 지속 맴돌게 하는데, 결국 시간이 지날수록 점점 흥미를 잃어가게 됩니다.

기초라고 언급되는 것들은 대부분 허상입니다. 사람들은 자기가 아는 것은 "기초이며 상식"이라고 말하며 모르는 것은 잘못된 것이라고 말합니다. 단순히 익숙하지 않을 뿐이지만 그렇게 하는 것이 아니라고 자신 있게 주장합니다.

그러나 실제로 어디부터 시작해야 한다는 정해진 순서 같은 것은 없습니다. 무엇부터 시작하더라도 어차피 모르는 것은 끊임없이 눈앞에 나타날 것입니다. 때로는 순서가 바뀌었다는 생각이 들 수도 있습니다. 하지만 그것이 틀렸다는 것을 의미하는 것은 아닙니다. 주변을 맴돌며 힘을 빼는 것보다는 어떻게든 유리하기 때문입니다. 그러므로 제일 중요한 것은
교육 커리큘럼이 아닙니다. 호기심과 흥미입니다.

우리는 지금까지, 이런 저런 이유로 불가능하다는 생각에 대해 너무 관대했습니다. 그러나 지나고 생각해보면, 많은 경우 변명일 뿐이었다는 사실을 스스로는 알고 있습니다. 이제 더 이상은 안 되는 이유들을 찾아가며 호기심을 꺾고 스스로를 괴롭히지 않으시길 희망합니다. "안타만 꾸준히 쳐도 결국 승리한다"는 말이 있듯이, 일단 수용하는 자세로 임하다 보면 어느 날 길은 열릴 것입니다. 그렇게 결국 이루어낼 것입니다. 이 여정을 함께 해주시지 않겠습니까?

관련하여, "취미로 해킹" 시리즈는 취약점 발견 트레이닝 목적으로 제작된 콘텐츠입니다. 가상 환경을 기반으로, 툴 사용법 및 관련 능력을 계발이 용이하도록 구성하였습니다. 취약점 발견의 첫걸음을 떼실 수 있으며, 현재 가용한 콘텐츠는 아래와 같습니다.
 
※ 상호 연관성 고려 시, "권장" 순서는 취미로 해킹 #2 → #1 → #3 → #4 → #5 입니다.
  • 취미로 해킹#2(해커의 컴퓨팅)

    취미로 해킹#2(해커의 컴퓨팅)

    ₩33,000
  • 취미로 해킹#1(OverTheWire - Bandit)

    취미로 해킹#1(OverTheWire - Bandit)

    ₩33,000
  • 취미로 해킹#3(WebGoat)

    취미로 해킹#3(WebGoat)

    ₩55,000
  • 취미로 해킹#4(Nebula)

    취미로 해킹#4(Nebula)

    ₩33,000
  • 취미로 해킹#5(DIMICTF)

    취미로 해킹#5(DIMICTF)

    ₩55,000
장용하
만든 사람 장용하
다른 로드맵
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스