[TIP] Protectie antivirus pentru Stick/PC
-
- Moderator
- Mesaje: 813
- Membru din: Vin Sep 09, 2011 4:05 pm
- Localitate: Iaşi
[TIP] Protectie antivirus pentru Stick/PC
E o moda din ce in ce mai larg raspandita, virusarea prin Stick-uri USB.
Am anexat un mic utilitar pentru activare sau dezactivare Read Only la stick-uri, (cand duci un document la imprimat, sigur centrele de copiere sunt pline de virusi, e bine de protejat la scriere inainte de asta).
Cu Write Protect activat, nu se mai pot scrie fisiere pe Stick ( pentru a trimite fisiere pe Stick, trebuie dezactivat mai intai Write Protect).
Utilitarul poate fi pus si pe stick : daca ai de luat un fisier de la cineva, e mai bine sa introduci stick-ul tau protejat in PC-ul respectiv; daca nu apare automat mesajul ca discul este read-only inainte de a trimite documente pe stick, semn ca virusul incearca sa scrie pe disc fisiere nedorite, atunci poti debloca protectia chiar de pe utilitarul de pe stick (e posibil sa dea o eroare, dar stick-ul se deblocheaza totusi ).
Daca a aparut mesajul fara sa trimiti un fisier pe stick, mai bine renunta la document, nu debloca stick-ul, risti sa duci virusul mai departe, pe calculatorul tau sau al altora.
Pentru un anumit virus, in arhiva gasesti si o metoda de recuperare fisiere si devirusare manuala.
Alte optiuni care trebuie luate in seama pentru USB disk Manager sunt:
-Execute Deny: daca se activeaza aceasta optiune, se va interzice astfel rularea pe calculatorul tau a oricarui software de pe USB Stick.
-In settings: Disable Windows Autorun for USB Sticks - aceasta optiune este extrem de utila pentru a opri infectarea calculatorului: un virus aflat pe un stick USB are nevoie de aceasta functiune Windows pentru a -si "face treaba" pe calculatorul tau (fisierele autorun.inf ascunse pe Stick vor "da drumul" virusului in PC). Dezactivand aceasta functie, Stick-ul USB sau unitatea externa de memorie nu se va mai deschide automat la introducerea in portul USB. (Singura "neplacere" este ca va trebui sa intri pe unitatea externa din My Computer , nu se va mai deschide automat)
Sunt de parere ca unitatile de memorie portabile (stick-uri, chiar si HD externe) sunt si vor fi o tinta usoara si din ce in ce mai agresiva pentru "scriitorii" de virusi; tot ce putem face e sa mediatizam astfel de metode de protejare, accesibile indiferent de nivelul de cunostinte IT.
Daca sunt erori in fisierele anexate, puteti face modificarile care se impun, sau completari, apoi sa le postati din nou.
Nu stiu la ce versiuni de sistem de operare functioneaza utilitarul; pot incepe eu lista : functioneaza pentru Vista. Pentru XP SP3, nu functioneaza Dezactivarea functiunii Autorun din sistemul de operare, la XP e mai dificil de facut asta.
Am anexat un mic utilitar pentru activare sau dezactivare Read Only la stick-uri, (cand duci un document la imprimat, sigur centrele de copiere sunt pline de virusi, e bine de protejat la scriere inainte de asta).
Cu Write Protect activat, nu se mai pot scrie fisiere pe Stick ( pentru a trimite fisiere pe Stick, trebuie dezactivat mai intai Write Protect).
Utilitarul poate fi pus si pe stick : daca ai de luat un fisier de la cineva, e mai bine sa introduci stick-ul tau protejat in PC-ul respectiv; daca nu apare automat mesajul ca discul este read-only inainte de a trimite documente pe stick, semn ca virusul incearca sa scrie pe disc fisiere nedorite, atunci poti debloca protectia chiar de pe utilitarul de pe stick (e posibil sa dea o eroare, dar stick-ul se deblocheaza totusi ).
Daca a aparut mesajul fara sa trimiti un fisier pe stick, mai bine renunta la document, nu debloca stick-ul, risti sa duci virusul mai departe, pe calculatorul tau sau al altora.
Pentru un anumit virus, in arhiva gasesti si o metoda de recuperare fisiere si devirusare manuala.
Alte optiuni care trebuie luate in seama pentru USB disk Manager sunt:
-Execute Deny: daca se activeaza aceasta optiune, se va interzice astfel rularea pe calculatorul tau a oricarui software de pe USB Stick.
-In settings: Disable Windows Autorun for USB Sticks - aceasta optiune este extrem de utila pentru a opri infectarea calculatorului: un virus aflat pe un stick USB are nevoie de aceasta functiune Windows pentru a -si "face treaba" pe calculatorul tau (fisierele autorun.inf ascunse pe Stick vor "da drumul" virusului in PC). Dezactivand aceasta functie, Stick-ul USB sau unitatea externa de memorie nu se va mai deschide automat la introducerea in portul USB. (Singura "neplacere" este ca va trebui sa intri pe unitatea externa din My Computer , nu se va mai deschide automat)
Sunt de parere ca unitatile de memorie portabile (stick-uri, chiar si HD externe) sunt si vor fi o tinta usoara si din ce in ce mai agresiva pentru "scriitorii" de virusi; tot ce putem face e sa mediatizam astfel de metode de protejare, accesibile indiferent de nivelul de cunostinte IT.
Daca sunt erori in fisierele anexate, puteti face modificarile care se impun, sau completari, apoi sa le postati din nou.
Nu stiu la ce versiuni de sistem de operare functioneaza utilitarul; pot incepe eu lista : functioneaza pentru Vista. Pentru XP SP3, nu functioneaza Dezactivarea functiunii Autorun din sistemul de operare, la XP e mai dificil de facut asta.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
Probleme să fie, că soluţii se găsesc...
-
- Moderator
- Mesaje: 813
- Membru din: Vin Sep 09, 2011 4:05 pm
- Localitate: Iaşi
Re: [TIP] Protectie antivirus pentru Stick/PC
Problema principala la USB disk Manager este ca protejeaza doar calculatorul tau impotriva Stick-urilor introduse, Stick-ul personal este in continuare vulnerabil la introducerea in alte calculatoare virusate.
O metoda destul de larg raspandita de protejare a stick-ului personal, este umplerea spatiului liber prin crearea unui fisier creat "artificial", pe disk nu mai ramane spatiul necesar "infiltrarii " fisierelor virusate. Daca la introducerea stick-ului in acel PC apare fara sa dai nici o comanda mesajul "Disk is full", e clar ca se incearca virusarea stick-ului.
Am adunat si scris un set de macrocomenzi pentru crearea si stergerea fisierelor false pe stick-uri, valabil pentru versiuni incepand de la XP.
Codul este usor de modificat pentru cine prefera early binding:
In modulul thisWorkbook, se poate seta partitia:
Am primit recent o oferta de la Bitdefender, am observat ca se lucreaza acolo din greu la diverse utilitare: USB immunizer (gratuit) , AntiTheft (nu e gratuit).
Din pagina de detalii, reiese ca:
"The USB Immunizer replaces any autorun file on the drive with a special one that can’t be deleted or modified by malware anymore. If you plan to to use your own autorun.inf file, then we’d recommend that you don’t immunize the drive, as you’ll lose your original file. Unfortunately, this is the only available approach to mitigate the effect of autorun malware."
Fisierul autorun.inf propriu il am deja pe stick, dar virusii trec de el fara prea mari probleme...
Am testat si USB immunizer-ul, ce mi-a placut este ca nu a putut face imunizarea, deoarece pe stick era prezent fisierul fals creat cu procedurile de mai sus: In procedurile de mai sus se regaseste si protejarea/deprotejarea la scriere pe USB a calculatorului, prin scrierea unei chei de registru - WriteProtect , in StorageDevicePolicies. Eu le-am testat si functioneaza si in XP si in Vista.
O metoda destul de larg raspandita de protejare a stick-ului personal, este umplerea spatiului liber prin crearea unui fisier creat "artificial", pe disk nu mai ramane spatiul necesar "infiltrarii " fisierelor virusate. Daca la introducerea stick-ului in acel PC apare fara sa dai nici o comanda mesajul "Disk is full", e clar ca se incearca virusarea stick-ului.
Am adunat si scris un set de macrocomenzi pentru crearea si stergerea fisierelor false pe stick-uri, valabil pentru versiuni incepand de la XP.
Codul este usor de modificat pentru cine prefera early binding:
Cod: Selectaţi tot
Option Explicit
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type
Private Declare Function GetVersionEx Lib "kernel32" _
Alias "GetVersionExA" (lpVersionInformation As _
OSVERSIONINFO) As Long
Public Cale As String
Sub WriteProtect()
CreateObject("WScript.Shell").RegWrite _
"HKLM\System\CurrentControlSet\Control\StorageDevicePolicies\WriteProtect", 1, "REG_DWORD"
End Sub
Sub WriteUnprotect()
CreateObject("WScript.Shell").RegWrite _
"HKLM\System\CurrentControlSet\Control\StorageDevicePolicies\WriteProtect", 0, "REG_DWORD"
End Sub
Sub SpatiuLiber()
Dim FSO As Object 'New Scripting.FileSystemObject 'pentru early binding'
Dim Partitie 'As Drive
Dim Spatiu As Double
Dim TipDrive As Integer, Text As String
Dim TextComanda As String
Dim FileSistem As String
Dim NrFile, VersiuneSO As Long
Dim i As Integer
Dim Split2GB As Double
Split2GB = Application.Sum(1073741824, 1073741824) '1000000000 '
Set FSO = CreateObject("Scripting.FileSystemObject")
' calea se poate seta in modulul ThisWorkbook, _
si e valabila pentru ambele proceduri, de creare si stergere fisier
'doar in cazul in care
If Cale = "" Then Cale = Left(ThisWorkbook.Path, 2)
If Cale = "\\" Then
MsgBox "Adresa este din retea, nu este din My computer...", vbInformation, "Mai bine renunta... :)"
Exit Sub
End If
Set Partitie = FSO.GetDrive(Cale)
Spatiu = Partitie.FreeSpace
TipDrive = Partitie.DriveType
If TipDrive <> 1 Then
Select Case TipDrive
Case 0: Text = "Necunoscut"
Case 1: Text = "Removable"
Case 2: Text = "Fix"
Case 3: Text = "Din Retea"
Case 4: Text = "CD-ROM"
Case 5: Text = "RAM Disk"
End Select
If MsgBox("Este un Disk de tip " & Text & "," & _
vbNewLine & "esti sigur ca aici vrei sa creezi fisierul fals?", _
vbYesNo, "Confirma creare fisier pe " & Partitie) = vbYes Then
Else
Exit Sub
End If
End If
If Spatiu = 0 Then
MsgBox "Nu exista spatiu liber pe " & Cale & " !", , "Verificare spatiu liber"
Exit Sub
End If
FileSistem = Partitie.FileSystem
VersiuneSO = Val(Get_OS_Version)
TextComanda = "fsutil file createnew " & Partitie & "\FisierFals " & Spatiu
If FileSistem = "NTFS" Then
If VersiuneSO < 6 Then
CommandLine TextComanda
Else
TextComanda = Application.InputBox("Copiaza acest text in Command Prompt:" _
& vbNewLine & "(Deschis cu drepturi de administrator!)", "Creare fisier fals", TextComanda)
Exit Sub
End If
End If
'marime maxima fisiere: FAT12: 32 MB; FAT16: 2 GB; FAT32: 4 GB
'sper ca nu se mai foloseste FAT12 :)
'am stabilit marimea maxima fisier la 2 GB pt. compatibilitate cu FAT16 si FAT32
If FileSistem <> "NTFS" Then
If Split2GB > Application.Sum(1073741824, 1073741824) Then
MsgBox "Marimea maxima a fisierelor este de 2 GB!", , "Fisier prea mare"
Exit Sub
End If
If Spatiu > Split2GB Then 'daca spatiul liber e > 2 GB trebuie facute mai multe fisiere
NrFile = WorksheetFunction.Ceiling(Spatiu / Split2GB, 1)
If NrFile > 10 Then
If MsgBox("Se vor crea " & NrFile & " Fisiere pe " & Partitie & _
vbNewLine & "Apasa ''Yes'' daca e OK, sau ''No'' daca vrei sa schimbi " _
& vbNewLine & "marimea fisierelor pentru a reduce acest numar!", _
vbYesNo, "Confirma creare fisiere pe " & Partitie) = vbYes Then
Else
Exit Sub
End If
End If
If Len(Range("A1")) > 0 Then
Range(Range("A1"), Range("A1").End(xlDown)).Select
Selection.ClearContents
End If
For i = 1 To NrFile
If i = NrFile Then
If VersiuneSO < 6 Then
TextComanda = "fsutil file createnew " & Partitie & "\" & i & _
"FisierFals " & Spatiu - (NrFile - 1) * Split2GB
CommandLine TextComanda
Else
ActiveSheet.Cells(i, 1) = "fsutil file createnew " & Partitie & "\" & i & _
"FisierFals " & Spatiu - (NrFile - 1) * Split2GB
End If
Exit For
End If
If VersiuneSO < 6 Then
TextComanda = "fsutil file createnew " & Partitie & "\" & i & _
"FisierFals " & Split2GB
CommandLine TextComanda
Else
ActiveSheet.Cells(i, 1) = "fsutil file createnew " & Partitie & "\" & i & _
"FisierFals " & Split2GB
End If
Next
Else
If VersiuneSO < 6 Then
CommandLine TextComanda
Else
TextComanda = Application.InputBox("Copiaza acest text in Command Prompt:" _
& vbNewLine & "(Deschis cu drepturi de administrator!)", "Creare fisier fals", TextComanda)
End If
End If
End If
End Sub
Sub StergeFisierFals()
Dim FSO As Object 'New Scripting.FileSystemObject 'pentru early binding
Dim Fisier As Object
Set FSO = CreateObject("Scripting.FileSystemObject") ' nu e necesar in early binding
If Cale = "" Then Cale = Left(ThisWorkbook.Path, 2)
For Each Fisier In FSO.GetFolder(Left(ThisWorkbook.Path, 2)).Files
If InStr(1, Fisier.Name, "FisierFals", vbTextCompare) > 0 Then Kill Fisier
Next
End Sub
Function Get_OS_Version()
'Versiuni Windows:
'6.2 Windows 8
'6.2 Windows Server 2012
'6.1 Windows 7
'6.1 Windows Server 2008 R2
'6.0 Windows Server 2008
'6.0 Windows Vista
'5.2 Windows Server 2003 R2
'5.2 Windows Server 2003
'5.2 Windows XP 64-Bit Edition
'5.1 Windows XP
'5.0 Windows 2000
Dim oOSInfo As OSVERSIONINFO
oOSInfo.dwOSVersionInfoSize = Len(oOSInfo)
GetVersionEx oOSInfo
Get_OS_Version = oOSInfo.dwMajorVersion & "." & oOSInfo.dwMinorVersion
End Function
Public Function CommandLine(command As String, Optional ByVal keepAlive As _
Boolean = False, Optional windowState As VbAppWinStyle = VbAppWinStyle.vbHide) _
As Boolean
'--------------------------------------------------------------------------------
' Procedure : CommandLine
' Author : Aaron Bush (Oorang)
' Date : 10/02/2007
' Purpose : Provides a simple interface to execute a command lines from VBA.
' Input(s) :
' command : The DOS command you wish to execute.
' keepAlive : Keeps the DOS window open *after* command has been
' executed. Default behavior is to auto-close. (See
' remarks section for additional information.)
' windowState : Determines the window state of the DOS prompt
' *during* command execution.
' Output : True if completed with no errors, False if error encountered.
' Remarks : If the windowState property is set to vbHide while the keepAlive
' parameter is set to True, then windowState will be changed to
' vbNormalFocus.
'--------------------------------------------------------------------------------
On Error GoTo Err_Hnd
Const lngMatch_c As Long = 0
Const strCMD_c As String = "cmd.exe"
Const strComSpec_c As String = "COMSPEC"
Const strTerminate_c As String = " /c "
Const strKeepAlive_c As String = " /k "
Dim strCmdPath As String
Dim strCmdSwtch As String
If keepAlive Then
If windowState = vbHide Then
windowState = vbNormalFocus
End If
strCmdSwtch = strKeepAlive_c
Else
strCmdSwtch = strTerminate_c
End If
strCmdPath = VBA.Environ$(strComSpec_c)
If VBA.StrComp(VBA.Right$(strCmdPath, 7), strCMD_c, vbTextCompare) <> _
lngMatch_c Then
strCmdSwtch = vbNullString
End If
VBA.Shell strCmdPath & strCmdSwtch & command, windowState
CommandLine = True
Exit Function
Err_Hnd:
CommandLine = False
End Function
Public Sub getDriveSpace()
Dim FSO As Object 'New FileSystemObject - early binding
Dim d As Object 'Drive - early binding
Dim strText As String
Set FSO = CreateObject("Scripting.FileSystemObject") 'nu e necesar in early binding
For Each d In FSO.Drives
strText = "Drive " & d.DriveLetter & ": Spatiu liber: "
If d.IsReady Then
strText = strText & Round(d.FreeSpace / 1073741824, 2) & " Gb"
Else
strText = strText & "Drive not ready"
End If
MsgBox strText
'Debug.Print strText
Next
End Sub
Cod: Selectaţi tot
Option Explicit
Private Sub Workbook_Open()
Cale = Left(ThisWorkbook.Path, 2) ' se poate inlocui cu text de forma "H:" , _
- unde H este litera atribuita stick-ului in My Computer, _
daca acest fisier nu se ruleaza de pe Stick
'Macrocomanda poate fi rulata si de pe PC, _
dar mai bine de pe Stick, chiar si din subfoldere!
End Sub
Din pagina de detalii, reiese ca:
"The USB Immunizer replaces any autorun file on the drive with a special one that can’t be deleted or modified by malware anymore. If you plan to to use your own autorun.inf file, then we’d recommend that you don’t immunize the drive, as you’ll lose your original file. Unfortunately, this is the only available approach to mitigate the effect of autorun malware."
Fisierul autorun.inf propriu il am deja pe stick, dar virusii trec de el fara prea mari probleme...
Am testat si USB immunizer-ul, ce mi-a placut este ca nu a putut face imunizarea, deoarece pe stick era prezent fisierul fals creat cu procedurile de mai sus: In procedurile de mai sus se regaseste si protejarea/deprotejarea la scriere pe USB a calculatorului, prin scrierea unei chei de registru - WriteProtect , in StorageDevicePolicies. Eu le-am testat si functioneaza si in XP si in Vista.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
Probleme să fie, că soluţii se găsesc...
-
- Moderator
- Mesaje: 813
- Membru din: Vin Sep 09, 2011 4:05 pm
- Localitate: Iaşi
Re: [TIP] Protectie antivirus pentru Stick/PC
Un dezavantaj pentru versiunile incepand de la Vista, este ca acele linii de comanda create prin procedurile mentionate, trebuie executate intr-un command prompt deschis manual cu drepturi de administrator. nu stiu cum se pot rula complet automat comenzile, din ce am studiat pe net, fsutil nu se poate rula automat.
Pentru stick-urile cu capacitate de 32 Gb, cum folosesc eu, daca nu il formatam ca NTFS, ar fi trebuit sa rulez pana la 16 linii de comanda (sau 8, daca faceam fisiere de 4 GB).
Stie cineva o alta solutie? Eventual poate facem noi un executabil ...
Pentru stick-urile cu capacitate de 32 Gb, cum folosesc eu, daca nu il formatam ca NTFS, ar fi trebuit sa rulez pana la 16 linii de comanda (sau 8, daca faceam fisiere de 4 GB).
Stie cineva o alta solutie? Eventual poate facem noi un executabil ...
Probleme să fie, că soluţii se găsesc...