아이폰 백신이 필요없는 이유.
아이폰 백신 소동을 보고 느낀점이나 대화하면서 느낀점 등을 정리한 글입니다.
전문가의 글이 아닙니다. 얕은 지식에서 나온 글이라 맞지 않는 내용이 있을 수도 있습니다.
1. 애플사가 자체적으로 필터링을 한다.
애플사에선 앱스토어에 어플이 올라올 때 해당 어플을 체크한 뒤 승인해줍니다.
이 과정을 거치지 않으면 앱스토어를 통한 유통이 불가능합니다.
바이러스성 어플은 진작에 필터링되어 못 올라옵니다.
2. 백그라운드 기능이 없다.
아이폰 백신 관련 기사를 보면 이런 부분이 있습니다.
허 대표는 “정상폰일 경우에도 악성코드에 감염될 확률이 있어, 맥아피 등 상당수 보안업체가 관련 제품을 개발하고 있는 것으로 안다”며 “우리가 개발한 백신은 스마트폰 대상 웜 4개, 원격제어툴 1개 등의 위협을 방지할 수 있으며, 해킹(Jail-Broken)폰 여부를 탐지해 전자금융거래의 안정성을 높여준다”고 강조했다.
Jail-Broken 여부를 검사한다고 합니다.
그런데 아이폰에선 프로그램을 종료하지 않고 띄워놓을 수 없고, 프로그램끼리 서로 간섭할수도 없습니다. 그런 어플은 등록 심사 거절 당합니다.
그럼 Jail-Broken 여부를 검사했다고 치고, 이걸 어떻게 뱅킹 어플과 연동할지는 생각을 안해봤냐 이겁니다.
백신(?) 프로그램을 실행시켜 놓는것도 불가능하고, 서로 정보를 교환하는것도 불가능한데 어떻게 감지 여부를 알려줄거냐… 라는 것입니다.
(근데 잘 생각해보니 이 부분은 백신 실행 후 웹으로 데이터 전송해서 x분 동안 뱅킹 실행 가능 같은 구질구질한 방법으로 해결은 되겠군요.)
3. 바이러스가 없다
백신이 바이러스가 걸렸는지 안 걸렸는지를 알 수 있는것은, 바이러스의 패턴을 저장해두고 그것에 맞춰서 파일들을 검사하는 것입니다.
즉 이미 있는 바이러스를 가지고 대상 파일과 비교를 해본다는 것이죠.
하고싶은 말은, 바이러스가 없는 이상 검사할때 필요한 DB가 존재할 수가 없다는 것입니다.
기사 글을 다시 인용합니다.
허 대표는 “정상폰일 경우에도 악성코드에 감염될 확률이 있어, 맥아피 등 상당수 보안업체가 관련 제품을 개발하고 있는 것으로 안다”며 “우리가 개발한 백신은 스마트폰 대상 웜 4개, 원격제어툴 1개 등의 위협을 방지할 수 있으며, 해킹(Jail-Broken)폰 여부를 탐지해 전자금융거래의 안정성을 높여준다”고 강조했다.
현재 아이폰의 정상적인 사용으로 웜바이러스에 걸리거나 원격제어툴(트로이목마?)을 사용한 피해가 발생한적이 없습니다.
Jail-Broken시 생기는 취약점을 사용해 웜바이러스가 나온적은 있지만, Jail-Broken 하지 않은 상태에선 걸릴수가 없습니다.
그럼 대체 “스마트폰 대상 웜, 원격제어툴” 은 뭘까요?
개인적으로 추측을 하자면, 저 5개의 악성 프로그램은 “다른 스마트폰”의 악성 프로그램 입니다.
이게 대체 무슨 의미가 있습니까.
스마트폰마다 쓰는 운영체제가 다 다릅니다.
그리고 당연히 Windows Mobile을 타겟으로 해서 나온 바이러스는 아이폰 OS에서 돌아갈리가 없습니다.
작동 안 하는 바이러스를 위해 나온 백신이 의미가 있을까요?
물론 서버용 백신이라면 의미가 있습니다.
가령 리눅스로 서버를 돌려도 윈도우용 파일들이 업로드 될 수 있고, 그것들이 서버에서 배포되는것을 막기 위해 백신이 필요할 수는 있습니다.
근데 아이폰으로 서버 못 돌리잖아요.
최소한 탈옥을 하지 않는 이상 안 됩니다.
4. 애플도 원하지 않는다
아이폰용 백신을 앱스토어에서 통과시켜주면 애플이 잃는것이 꽤 큽니다.
첫째로, 바이러스가 있고 이를 위해 백신 프로그램이 필요하다 라는 인식이 생길 수가 있습니다.
앱스토어 자체적으로 필터링을 하고있지만 그래도 백신이 필요하다 라고 인정해버리는겁니다.
둘째로, 역으로 악성 어플들이 통과될 수가 있습니다.
백신이라는건 기본적으로 다른 프로그램보다 더 높은 권한이 필요합니다.
시스템 파일 변조 여부 확인을 위해 시스템 폴더에도 접근을 해야 하고, 악성 어플이 있나 알아보기 위해 다른 어플들에 접근도 가능해야 합니다.
만약 아이폰 백신이 통과되면, “왜 저건 저렇게 접근을 하는데도 통과시켜 주고 내건 안되냐” 라고 주장할 수도 있습니다.
애초에 안된다고 룰로 정해놓고 그런 기능을 쓰면 거부해버리면 끝입니다.
근데 저렇게 주장하면 기능을 쓰더라도 정말 악성 프로그램인지 아닌지를 알아봐야 합니다.
그렇게 되면 악성 프로그램인지 아닌지 애매모호한 것들도 생기고, 악성 어플이지만 통과되는 어플도 생길겁니다.
스스로 구멍을 넓히는 일이 되는거죠.
결론
몇가지 생각을 해 본 결과 아이폰은 백신이 필요 없습니다.
탈옥을 하지 않는 이상은 외부 악성 코드가 실행 될 수 없는 환경입니다.
물론 나중에 취약점이 발견되어서 악성 코드가 실행될 가능성도 있기는 합니다.
그런데 그건 그때 생각할 문제입니다.
현재까지 바이러스가 없습니다. 그렇다고 백신이 무슨 인공지능이 달린것도 아닙니다. 바이러스가 없는 이상 검사할 바이러스가 없는겁니다.
취약점이 생겨 그것을 사용하는 바이러스가 나온다면 그때가선 애플이 자체적으로 해결하던 백신을 허용하던 합니다.
창을 막으려고 방패가 나온거지, 방패를 찌르려고 창이 나온게 아닙니다.
제안
저한테 아주 좋은 생각이 있습니다.
탈옥한 사용자들을 위한 백신을 만드는겁니다. 그리고 Cydia Store 같은데서 판매하고.
뱅킹 어플들이 기본적으로 탈옥 여부를 체크해서 탈옥 기기는 거부합니다.
이 부분을 바꾸는겁니다.
탈옥된 기기가 아니면 그냥 실행해주고, 탈옥된 기기면 백신의 동작 유무를 확인해서 통과시켜주면 되겠죠.
탈옥을 안했으면 바이러스가 없을테니 그냥 실행해줘도 되고, 탈옥을 했고 백신이 돌고있으면 바이러스가 없을테니 실행해주면 되구요.
게다가 탈옥한 환경에서 동작하는 바이러스도 이미 있으니, 위에서 지적한 모든 문제를 해결할 수 있습니다.
실제로 백신은 아니지만 판매되고 있는 방화벽 프로그램도 있습니다. 탈옥 해야 하지만요.
자꾸 최초 최초 하지만 말고 어떻게 최초가 되었을까 라는 생각도 해봤으면 좋겠습니다.
아이폰이 우리나라야 이제 들어왔지만 전 세계적으로는 아주 오래전부터 있었던 물건입니다.
그 긴 시간동안 왜 백신이 없었나 충분히 생각해볼 수 있습니다.
6개월동안 만들었다고 한거같은데 거부되었으니 시간, 인력, 자본 전부 날려먹은거잖아요.
물론 내부적으로는 더 사연이 있겠지만, “왜 없었을까” 라는 생각을 못해서 심한 낭비를 한것만 같아 안타깝네요.

탈옥한 아이폰에서 발생하는 피해는 은행에서 책임을 안져도 되는것 아닐까요?
@snowall
뭐 그렇죠.
탈옥을 하지 않으면 바이러스가 없으니 백신 만들고싶으면 저렇게나 해라 라는 소리였습니다.
저같아도 백신이 100% 안전하다는 보장이 없으니 탈옥한 기기에 대해서는 차단을 계속 유지할겁니다.