2014-02-24 8 views
0

우리가 제공 한 J2ME 앱의 보안에 대한 피드백을 얻었습니다. Veracode가 Resources.Open ("/ res/resfile.res")에서 보안 결함으로 호출 된 getClass(). getResourceAsStream()을 사용하고 있음을 확인했습니다. 여기LWUIT (J2ME)에서 getClass(). getResourceAsStream() 또는 Resources.Open ("") 이외의 리소스를로드하는 대체 방법

http://www.cvedetails.com/cwe-details/73/External-Control-of-File-Name-or-Path.html

문제는 자원이 사용자 입력에 의해 주어지는 것이 아니라, 내가 여기에 표시 한 방법이라는 점이다. 그러나 어떤 이유로 든 우리가 다루고있는 회사는 가양 성을 수용하지 않습니다.

getResourceAsStream을 사용하지 않고 Veracode 테스트를 통과하도록 리소스를로드하는 다른 방법이 있습니까?

+0

Veracode로 가져 와서 고소 제안. – EJP

+0

하하. 정말 쉽지 않았 으면 좋겠다. – Pat

답변

3

아니요 J2ME의 내부 리소스를로드하는 다른 방법은 없습니다. Class 개체에서 getResourceAsStream()을 사용해야합니다.

이것은 보안 결함이 아닙니다. 베라 코드가 혼란 스럽다고 생각합니다. 사용자가 SD 카드 또는 내부 전화 저장 장치에서 외부 파일을로드한다고 생각하는 것처럼 보입니다. 보안 취약점이 될 수 있습니다. 그러나 그것은 getResourceAsStream()이하는 것이 아닙니다.

getResourceAsStream()을 사용하여 읽을 수있는 것은 내가 만든 JAR 안에 들어있는 파일입니다.

당신이 할 수있는 유일한 일은 Veracode에 이것을 설명하려고하는 것입니다. 확실히 보안 결함이 아니기 때문입니다.

2

파일의 모든 내용을 Java 클래스에 넣을 수 있습니다. 하지만 재미가 없으며 더 안전하지도 않습니다.