직업은 선물 트레이더

해킹이 만연할 수 밖에없는 이유는??

잊어버린 과거

혹시 이런 질문을 하면 굉장히 쌩뚱맞을지도 모릅니다;;

믹서기에서 라디오방송이 나오게할 수 있겠습니까?

이것은 해킹 이라는것과 분야만 다르지 크게 다르지않다고 생각이 듭니다.

해킹이란, 사전에 정의된 대로라면, 다른사람의 컴퓨터에 '무단'으로 침입하여 '데이터'를 변형하거나 얻는 일. 정도니까요.

믹서기가 남의 것이라면 '무단'으로 된게 맞고, 믹서기에 라디오방송용칩을 심는등으로 '데이터'를 조작했으니 성립이 됩니다. 중요한건 무단 이겠네요.


그럼 '무단'을 막을 수 있으면 되지 않을까요?

컴퓨터세계를 벗어난 현실에서는 가능합니다. 예를들어 모나리자 그림은 무단으로 낙서한다는등의 행위를 막기위해 상당히 관리가 철저합니다. 단지 이 '무단' 이란걸 막기위해 안전장치 하나를 제대로 설계하면 '안전' 이란 상태가 됩니다.


그러나 컴퓨터세계에서는 조금 다릅니다. 컴퓨터는 거짓말을 안하고, 시키는대로 다 하고, 빠르고, 정확하고 등등등 그렇다고 하지만 결론적으로 '기반'이 다져지지 않은 심각한 문제가 있습니다.



실제로 같은 내용의 프로그래밍 과제를 내주어도 결론적 의미만 같을뿐 해온 방식은 저마다 제각각입니다. 만약 똑같은 사람이 있다면 둘중 하나는 배낀학생이겠죠. 요약하자면, 사람마다 접근하는 방법은 제각각이라는 말입니다.


그치만 이게 무슨 문제가 되냐구요?? 문제는 그 접근방법에대한 '신뢰성'의 보장이 없다는데 있습니다. 신뢰성의 보장이없다는사실은 '약점'이 있을 수 도 있다는 이야기입니다. 예를들면 A라는 변수에 2를 저장하라는 다음과 같은 문구가 있다고 합시다.

A <- 2

여기서 눈에는 안보이지만 레지스터와 주기억장치, 버스등의 데이터 이동 및 CPU의 처리과정등이 분명 있습니다. 이 보이지 않는 타이밍 문제로 ,단지 위에문구뿐이아닌 다른 명령들이 뒤섞여 적혀있다면,  '신뢰성'에 금이갈 수 도 있습니다. 지금당장 그 문제가 뭐였는지는 기억이 안나네요 ㅠ


그럼 이 '신뢰성'을 구축할 수 있는 프로그래밍 규칙등을 만들면 되지않는가 라고 할 수 있겠지만, 컴퓨터쪽에선 기계공학등의 학과에서 기초를 두고있는 '과학'과같이 튼튼한 기반이 없다는데 그 특징을 두고 있습니다. 때문에 프로그램을 완성한 이후 수십년이 지난 후 문제를 발견할 수 도 있는등의 문제가 있으므로 '신뢰성'의 구축이 절실하다고 생각합니다.


비슷한 문제로, 생각지 못한 경우의 수가 있을 수 있다는 점입니다. 이 또한 약점이 될 수 있습니다. 예상치못한 침투루트란게 있으니까요. 프로그래머는 모든 가지수에 대한 고려를 해야합니다. 이중 하나라도 대비를 못한다면 그곳은 침투루트가 될 가능성이 있을 수 도 있습니다. 


결국 컴퓨터 소프트웨어 공학에서 더이상의 '신뢰성'이 보장되지 않는한 앞으로도 약점을 공략하여 무단접근의 방법을 통한 해킹은 끊이지 않을 것 같습니다. 그러나 너무 걱정하실 필요는 없습니다. 


최근 통계에서도 보듯이 해킹의 가장 큰 위협은 사용자의 부주의 라고합니다. 출처와 보증이 없는 프로그램을 다운받고 있는 경우도 있고(ex)영화 등), 궁금해서 어떤 링크를 클릭하는 경우도 있는등 보안을 지키기 위해선 사용자 스스로 주의하는 습관을 들여야 겠습니다.