your programing

실수로 바이러스를 만들었습니까?

lovepro 2021. 1. 5. 19:49
반응형

실수로 바이러스를 만들었습니까?


나는 그것이 합리적으로 자주 발생하는 것을 보았다. 나는 Delphi로 애플리케이션을 작성하고 그것을 컴파일 할 때, 바이러스 스캐너는 내가 바이러스를 만들었다 고 말하고 즉시 실행 파일을 다시 삭제한다. 전체 재 구축을 수행하고 * .dcu 파일을 먼저 삭제하고 때로는 단순히 기다리면 성가 시지만 합리적으로 쉽게 수정할 수 있습니다.

내가 아는 한 Delphi 6, 7, 2005 및 2007에서 발생합니다. 그리고 Symantec, Kaspersky, McAfee 및 NOD32는 모두 이러한 오 탐지를보고 한 죄를지었습니다. Delphi가 DCU 파일에 타임 스탬프를 추가하고 이러한 타임 스탬프는 최종 실행 파일로 끝나고 임의의 바이러스 서명의 일부인 것처럼 보이기 때문이라는 것을 알고 있습니다.

단일 폴더 나 파일에 대해서도 바이러스 스캐너를 비활성화하고 싶지 않습니다. 그리고 나는 실제로 해결책을 찾지 못했지만 다음에 대해 궁금합니다.

  • 이러한 오 탐지가 다른 컴파일러에서도 발생합니까?
  • .NET 실행 파일에서도 발생합니까?
  • 다른 사람들도 델파이에서 비슷한 문제를 발견합니까?

이러한 오 탐지가 다른 컴파일러에서도 발생합니까?

예, 이것은 이 포럼 게시물 "내 AutoIt EXE가 정말로 감염 되었습니까?"에 언급 된 바와 같이 과거에 AutoIt 의 일반적인 문제였습니다. . AutoIt포함한 대부분의 경우, 이는 잘못된 휴리스틱 관행에서 비롯됩니다. AutoIt 은 자유롭고 개방 된 UPX 압축기를 사용하기 때문에 종종 UPX 를 사용하는 악성 코드로 오인됩니다 .

당신이 할 수있는 최선의 (그리고 아마도 유일한) 일은 이러한 실수를보고하는 것입니다. 그래서 그들은 그들의 휴리스틱 스를 수정하거나 적어도 당신의 앱을 화이트리스트에 올릴 수 있습니다.

다음은 일부 인기있는 바이러스 백신 회사의 연락처 정보 목록입니다. 그들은 모두 제품을 더 좋게 만드는 데 도움이되므로 제출에 감사한다고 주장합니다.

위키피디아에는 '바이러스 백신 소프트웨어 목록' 이라는 훌륭한 AV 소프트웨어 목록이 있습니다. 위의 목록보다 더 완전합니다.

Autoit Forums의 한 회원은 이 프로세스를 약간 자동화 하기 위해 방대한 AV 벤더 목록에 오 탐지를 이메일로 보내는 훌륭한 스크립트를 만들었습니다 .


나에게 휴리스틱 스크류 업처럼 들린다. 휴리스틱 스가 켜져 있습니까 (일부 스캐너에서는이를 "바이러스 유사 코드"라고 부를 수 있음)? 타임 스탬프가 "일부 바이러스 서명의 일부"와 같을 가능성은 너무 작아서 항상 발생하지 않습니다.

바이러스 스캐너를 사용했을 때 D6 또는 D7에서이 문제를 본 적이 없습니다.


실제로 야생에는 Delphi 바이러스가 있습니다. http://www.sophos.com/blogs/sophoslabs/?p=6117 참조


예, 우리 팀은 기업 환경에서 Sophos를 사용하여 2-3 년 동안 6 번 정도 이것을 경험했습니다. 그래서 아주 드물지만 실제로 발생합니다.

우리의 IT 신조는 앱에있는 모든 150 만 줄의 코드를 "제거"하기 위해 검토하도록 요구하기 시작했지만 그는 그 줄을 너무 멀리하지 않았습니다.

공정하게 말하면, 그는 처음에는 고객이 그러한 경고를받을 수 있다고 우려했지만, 테스트 상자의 릴리스 빌드 exe가 아닌 개발자 PC의 IDE에서 exe를 빌드 할 때만 트리거되는 것을 본 적이 있습니다. 다른 곳.

개인적으로 매우 드물게 발생하며 걱정하지 않습니다.


I've had it happen to me with deployed code. The next update to the scanner solved the problem. Some cretin wrote a virus using the same compiler and the signature was part of the runtime library, not actually in the hostile code.


This is not that uncommon when using non-standard compilers or when doing fancy low-level stuff: I remember creating false positives when I dabbled in OS-development: AntiVir didn't like some of my flat binaries.

Recently, there's been a post about such a problem at the tinyCC mailing list regading AVG.


I've never seen this, having done lots of C++ and .NET development with Visual Studio (from version 1.5 to 2010).


I've only seen this happen with assemblers. For example, MASM32 actually warns people that it might trigger virus scanners since the EXEs are so small (and/or some viruses are written in assembly). My McAfee scanner flagged some of the example programs as viruses.

This should only happen for virus scanners that have a "looks suspicious" analysis mode.


In some apps, if I use RtlVclOptimize.pas, the Avira antivirus tell that I have created a virus.


plus to what others'v said, modern anti-virus programs rise virus-alert if your programs uses some "suspicious" APIs too ( like URLdownloadFile or other API hooking related ones). if you google "delphi RAT FUD API undetectable" you'll find many interesting topics .


Some antivirus programs even flag a batch file as a virus and can't be convinced that it isn't. Quite annoying, if that file is part of a third party library and the virus warning is triggered every time TortoiseSVN checks it out. I ended up disabling the virus scanner, deleting the file and doing a commit. (Without disabling the scanner, I could not even do that :-( )


A couple of years back, everytime we updated the GNU Linker from mingw sources and started distributing it with our compiler, we got some reports that virusscanners classified ld.exe as virus. (.exes writing .exes ...)


I would not call it a "false positive", because, strictly speaking, it is not false and the antivirus software is not "guilty" of anything in any way.

I am 99% sure, that this is the heuristic analysis acting up (I bet it detects your executable as something along the lines of win32.virus.generic - note the generic, this is a sign, that this is not in its signature db, but rather was detected by the heuristics) and, with being heuristic and all, it does not give you any kind of guarantee, that whatever it finds is malicious, it just kind of makes it known to you, that the executable is suspicious from its point of view.

The easiest solution to this would be just adding an exception for your file by name (it is always the same name, correct?). If you are uncomfortable with this, you should, probably, make your antivirus software prompt you before taking action so you can make it skip your file manually.

In general, I've found coding in windows with antivirus software somewhat irritating (don't do it much nowadays, but still), especially if the said software is in "paranoid mode". Irritating as it is, though, it is unavoidable (IMO).


It happened to me too. Hooking keyboard will trigger almost any heuristic scanning AV software to report a key logger. There are probably many other system calls which will trigger it too. Solution - try to redesign your code or contact the AV manufacturer to include your software into exception list.


I remember another weird one:

A file was being flagged as suspect. The only thing is the file was an .OBJ! An .EXE that contained the code the .OBJ contained wasn't considered a problem.


If you have problems with false positives, there is VirusTotal online service that can help you check your file against number of antivirus engines.
It's free service and currently it can run antivirus check with almost 40 antivirus engines.


VS Platform toolset 2010 renders my simple program to be detected as virus. Changing the toolset to VS 2013 solves it.

It just creates a HttpWebRequest and writes the result to a file.

ReferenceURL : https://stackoverflow.com/questions/993671/accidentally-created-a-virus

반응형