보안소프트웨어는 왜 C언어를 사용하나요?

sgen의 이미지

정보보호제품을 구성하는 보안소프트웨어를 만들때 거의 100%정도 C언어를 사용하고 있는데
그 이유를 알고 싶습니다.
JAVA의 어떤 취약점때문에 JAVA를 사용하지 않는지요?
C를 사용하는 이유가 보안을 위해 내부적인 시스템 핸들링을 위해 C가 적합하다고 하는데 그 이유를 모르겠네요.
답변 부탁드립니다.

hothead의 이미지

전통적인 악성 코드는 native 환경에서 돌아가도록 프로그래밍 되어 있으며 주로 사용하는 것은 System call입니다.

이걸 Java로 막을 수 있을까요? ㅎㅅㅎ

C는 가능한데 말이죠...

=========================
VM(가상머신)
=========================
운영체제(OS)
user-level, kernel level이 있겠지만
제 전문 분야는 아니라 생략
=========================
물리 레이어(하드웨어)

mirheekl의 이미지

시스템을 은닉하고 가상머신하고만 대화하기 때문에 잘못된 조작이 일어나더라도 대부분 시스템이 영향을 받지 않게 할 수 있는 것입니다. 다시말해서 의도적으로 그렇게 설계했다는 얘기. 그럼 왜 이렇게 디자인했느냐? 시스템 핸들링이 쉬워지면 잘못된 프로그램을 만들기도 쉽고 하나의 프로그램이 다른 프로그램에 영향을 주기도 쉬워지며 타기종 이식이나 디버깅도 어려워지기 때문입니다. 한마디로 개발 코스트가 많이 들어간다는것. 자바와 C#의 도입 이후로 프로그래머의 생산성이 폭발적으로 증가한 게 바로 이런 이유. (일도 그만큼 많아져서 편해진건 별로 없지만..)

--