<മുമ്പത്തെ | ഉള്ളടക്കം | അടുത്തത്>
ഉപയോഗിച്ച് പാക്കേജുകൾ ഓഡിറ്റ് ചെയ്യുന്നു dpkg --സ്ഥിരീകരിക്കുക
dpkg --verify (അല്ലെങ്കിൽ dpkg -V) എന്നത് ഒരു രസകരമായ ഉപകരണമാണ്, കാരണം അത് പരിഷ്ക്കരിച്ച സിസ്റ്റം ഫയലുകൾ പ്രദർശിപ്പിക്കുന്നു (ഒരു ആക്രമണകാരിക്ക് സാധ്യതയുണ്ട്), എന്നാൽ ഈ ഔട്ട്പുട്ട് ഒരു തരി ഉപ്പ് ഉപയോഗിച്ചാണ് എടുക്കേണ്ടത്. ലേക്ക്
അതിന്റെ ജോലി ചെയ്യുക, ഹാർഡ് ഡിസ്കിൽ (/var/lib/dpkg/info/ എന്നതിൽ കാണപ്പെടുന്നു) സ്വന്തം ഡാറ്റാബേസിൽ സംഭരിച്ചിരിക്കുന്ന ചെക്ക്സംസ് ആണ് dpkg ആശ്രയിക്കുന്നത്.പാക്കേജ്.md5sums). അതിനാൽ സമഗ്രമായ ഒരു ആക്രമണകാരി ഈ ഫയലുകൾ പരിഷ്കരിക്കും, അങ്ങനെ അവ അട്ടിമറിച്ച ഫയലുകൾക്കായുള്ള പുതിയ ചെക്ക്സം ഉൾക്കൊള്ളുന്നു, അല്ലെങ്കിൽ ഒരു വിപുലമായ ആക്രമണകാരി നിങ്ങളുടെ ഡെബിയൻ മിററിൽ പാക്കേജ് വിട്ടുവീഴ്ച ചെയ്യും. ഈ തരം ആക്രമണത്തിൽ നിന്ന് പരിരക്ഷിക്കുന്നതിന്, APT-യുടെ ഡിജിറ്റൽ സിഗ്നേച്ചർ സ്ഥിരീകരണ സംവിധാനം ഉപയോഗിക്കുക (വിഭാഗം കാണുക 8.3.6, “പാക്കേജ് സാധൂകരിക്കുന്നു ആധികാരികത” [പേജ് 202]) പാക്കേജുകൾ ശരിയായി പരിശോധിക്കാൻ.
എന്താണ് ഒരു ഫയൽ ഒരു ഓർമ്മപ്പെടുത്തൽ എന്ന നിലയിൽ: വിരലടയാളം ഒരു മൂല്യമാണ്, പലപ്പോഴും ഒരു സംഖ്യയാണ് (ഹെക്സാഡെസിമലിൽ ആണെങ്കിലും- വിരലടയാളം? tation), അതിൽ ഒരു ഫയലിന്റെ ഉള്ളടക്കങ്ങൾക്കായി ഒരുതരം ഒപ്പ് അടങ്ങിയിരിക്കുന്നു. ഈ സിഗ്നേച്ചർ ഒരു അൽഗോരിതം ഉപയോഗിച്ചാണ് കണക്കാക്കുന്നത് (MD5 അല്ലെങ്കിൽ SHA1 അറിയപ്പെടുന്ന ഉദാഹരണങ്ങളാണ്)
അല്ലെങ്കിൽ ഫയൽ ഉള്ളടക്കത്തിലെ ഏറ്റവും ചെറിയ മാറ്റം പോലും വിരലടയാളത്തിൽ മാറ്റത്തിന് കാരണമാകുമെന്ന് ഉറപ്പുനൽകുന്നില്ല; ഇത് "അവലാഞ്ച് പ്രഭാവം" എന്നറിയപ്പെടുന്നു. ഒരു ലളിതമായ സംഖ്യാപരമായ വിരലടയാളം പിന്നീട് ഒരു ഫയലിന്റെ ഉള്ളടക്കത്തിൽ മാറ്റം വരുത്തിയിട്ടുണ്ടോ എന്ന് പരിശോധിക്കുന്നതിനുള്ള ഒരു ലിറ്റ്മസ് ടെസ്റ്റായി പ്രവർത്തിക്കുന്നു. ഈ അൽഗോരിതങ്ങൾ പഴയപടിയാക്കാനാകില്ല; മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, അവരിൽ മിക്കവർക്കും, വിരലടയാളം അറിയുന്നത് അനുബന്ധ ഉള്ളടക്കങ്ങൾ കണ്ടെത്താൻ അനുവദിക്കുന്നില്ല. സമീപകാല ഗണിതശാസ്ത്ര മുന്നേറ്റങ്ങൾ ഈ തത്വങ്ങളുടെ കേവലതയെ ദുർബലപ്പെടുത്തുന്നതായി തോന്നുന്നു, എന്നാൽ അവയുടെ ഉപയോഗം ഇതുവരെ ചോദ്യം ചെയ്യപ്പെട്ടിട്ടില്ല, കാരണം ഒരേ വിരലടയാളം നൽകുന്ന വ്യത്യസ്ത ഉള്ളടക്കങ്ങൾ സൃഷ്ടിക്കുന്നത് ഇപ്പോഴും വളരെ ബുദ്ധിമുട്ടുള്ള കാര്യമാണെന്ന് തോന്നുന്നു.
എന്താണ് ഒരു ഫയൽ ഒരു ഓർമ്മപ്പെടുത്തൽ എന്ന നിലയിൽ: വിരലടയാളം ഒരു മൂല്യമാണ്, പലപ്പോഴും ഒരു സംഖ്യയാണ് (ഹെക്സാഡെസിമലിൽ ആണെങ്കിലും- വിരലടയാളം? tation), അതിൽ ഒരു ഫയലിന്റെ ഉള്ളടക്കങ്ങൾക്കായി ഒരുതരം ഒപ്പ് അടങ്ങിയിരിക്കുന്നു. ഈ സിഗ്നേച്ചർ ഒരു അൽഗോരിതം ഉപയോഗിച്ചാണ് കണക്കാക്കുന്നത് (MD5 അല്ലെങ്കിൽ SHA1 അറിയപ്പെടുന്ന ഉദാഹരണങ്ങളാണ്)
അല്ലെങ്കിൽ ഫയൽ ഉള്ളടക്കത്തിലെ ഏറ്റവും ചെറിയ മാറ്റം പോലും വിരലടയാളത്തിൽ മാറ്റത്തിന് കാരണമാകുമെന്ന് ഉറപ്പുനൽകുന്നില്ല; ഇത് "അവലാഞ്ച് പ്രഭാവം" എന്നറിയപ്പെടുന്നു. ഒരു ലളിതമായ സംഖ്യാപരമായ വിരലടയാളം പിന്നീട് ഒരു ഫയലിന്റെ ഉള്ളടക്കത്തിൽ മാറ്റം വരുത്തിയിട്ടുണ്ടോ എന്ന് പരിശോധിക്കുന്നതിനുള്ള ഒരു ലിറ്റ്മസ് ടെസ്റ്റായി പ്രവർത്തിക്കുന്നു. ഈ അൽഗോരിതങ്ങൾ പഴയപടിയാക്കാനാകില്ല; മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, അവരിൽ മിക്കവർക്കും, വിരലടയാളം അറിയുന്നത് അനുബന്ധ ഉള്ളടക്കങ്ങൾ കണ്ടെത്താൻ അനുവദിക്കുന്നില്ല. സമീപകാല ഗണിതശാസ്ത്ര മുന്നേറ്റങ്ങൾ ഈ തത്വങ്ങളുടെ കേവലതയെ ദുർബലപ്പെടുത്തുന്നതായി തോന്നുന്നു, എന്നാൽ അവയുടെ ഉപയോഗം ഇതുവരെ ചോദ്യം ചെയ്യപ്പെട്ടിട്ടില്ല, കാരണം ഒരേ വിരലടയാളം നൽകുന്ന വ്യത്യസ്ത ഉള്ളടക്കങ്ങൾ സൃഷ്ടിക്കുന്നത് ഇപ്പോഴും വളരെ ബുദ്ധിമുട്ടുള്ള കാര്യമാണെന്ന് തോന്നുന്നു.
പ്രവർത്തിക്കുന്ന ഡിപികെജി -വി ഇൻസ്റ്റാൾ ചെയ്ത എല്ലാ പാക്കേജുകളും പരിശോധിച്ചുറപ്പിക്കുകയും സ്ഥിരീകരണം പരാജയപ്പെടുന്ന ഓരോ ഫയലിനും ഒരു ലൈൻ പ്രിന്റ് ഔട്ട് ചെയ്യുകയും ചെയ്യും. ഓരോ പ്രതീകവും ചില പ്രത്യേക മെറ്റാ-ഡാറ്റയിലെ ഒരു ടെസ്റ്റിനെ സൂചിപ്പിക്കുന്നു. നിർഭാഗ്യവശാൽ, dpkg മിക്ക ടെസ്റ്റുകൾക്കും ആവശ്യമായ മെറ്റാ-ഡാറ്റ സംഭരിക്കുന്നില്ല, അങ്ങനെ അവയ്ക്ക് ചോദ്യചിഹ്നങ്ങൾ പുറപ്പെടുവിക്കും. നിലവിൽ ചെക്ക്സം ടെസ്റ്റിന് മാത്രമേ മൂന്നാമത്തെ പ്രതീകത്തിൽ 5 ലഭിക്കുകയുള്ളൂ (അത് പരാജയപ്പെടുമ്പോൾ).
# ഡിപികെജി -വി
??5?????? /lib/systemd/system/ssh.service
??5?????? c /etc/libvirt/qemu/networks/default.xml
??5?????? c /etc/lvm/lvm.conf
??5?????? c /etc/salt/roster
# ഡിപികെജി -വി
??5?????? /lib/systemd/system/ssh.service
??5?????? c /etc/libvirt/qemu/networks/default.xml
??5?????? c /etc/lvm/lvm.conf
??5?????? c /etc/salt/roster
മുകളിലെ ഉദാഹരണത്തിൽ, dpkg SSH-ന്റെ സേവന ഫയലിൽ ഒരു മാറ്റം റിപ്പോർട്ട് ചെയ്യുന്നു, അത് അഡ്മിനിസ്ട്രേറ്റർ പാക്കേജ് ചെയ്ത ഫയലിൽ ഉചിതമായത് ഉപയോഗിക്കുന്നതിന് പകരം വരുത്തി. /etc/systemd/system/ssh.service അസാധുവാക്കുക (അത് ചുവടെ സംഭരിക്കും /തുടങ്ങിയവ ഏതെങ്കിലും കോൺഫിഗറേഷൻ മാറ്റം പോലെ). ഇത് നിയമാനുസൃതമായി പരിഷ്കരിച്ച ഒന്നിലധികം കോൺഫിഗറേഷൻ ഫയലുകളും (രണ്ടാമത്തെ ഫീൽഡിലെ "c" അക്ഷരത്താൽ തിരിച്ചറിയപ്പെട്ടിരിക്കുന്നു) പട്ടികപ്പെടുത്തുന്നു.