Kezdőoldal » Számítástechnika » Programozás » Jelenthet-e biztonsági kockáza...

Jelenthet-e biztonsági kockázatot az, hogy a C és C++ nyelvekben memóriaszemét lehet az inicializálatlan változók értéke?

Figyelt kérdés
Tehát pl. egy korábban ott lévő adatot vissza lehet-e nyerni egy programmal, és ha igen, ez mennyire nehéz?

2020. dec. 12. 22:28
 1/10 anonim ***** válasza:
78%
Alapból bármilyen adat visszanyerhető a memóriából, kívétel az olyan változók, amiket az operációs rendszer úgy kezel. Például C# esetén a SecureString-et nem fogod semmivel kinyerni Windows alatt.
2020. dec. 12. 22:39
Hasznos számodra ez a válasz?
 2/10 anonim ***** válasza:
27%
Azért elég bonyolult visszanyerni adatokat a memória szemétből, ami használható is. Erre a megoldás a titkosítás.
2020. dec. 12. 23:09
Hasznos számodra ez a válasz?
 3/10 anonim ***** válasza:
80%

A titkosítást vissza kell fejteni, hogy a kódban dolgozni tudj az adatokkal, és ha már a kódban az adatokkal dolgozol és nem a titkosított verzióval, mert ugyebár azzal nem fogsz tudni .... Akkor ugyanott vagy, memóriában megtalálhatod.


Példa: Játékokban csalások. Multiplayerekben pl. A legtöbb csalást úgy készítik, hogy a memóriában kutatnak. ;)

2020. dec. 12. 23:11
Hasznos számodra ez a válasz?
 4/10 anonim ***** válasza:
63%
Azért mondtam, hogy vannak nyelvekben speciális változók, mint például a SecureString. Ugyebár a memóriát is az operációs rendszer kezeli és a Windows úgy fogja ezt a típust is kezelni, hogy nem fogod tudni kinyerni .., de mégsem olyan titkosításról van szó, hogy a kódba ne tudj vele műveleteket végezni.
2020. dec. 12. 23:12
Hasznos számodra ez a válasz?
 5/10 anonim ***** válasza:
77%
De amúgy persze, ha egy nem hozzáértő személy ül le akkor soha, de soha nem fog semmilyen adathoz hozzájutni. :).
2020. dec. 12. 23:21
Hasznos számodra ez a válasz?
 6/10 anonim ***** válasza:
77%

"Például C# esetén a SecureString-et nem fogod semmivel kinyerni Windows alatt."

Azért óvatosan a SecureStringgel:

"Important


We don't recommend that you use the SecureString class for new development. For more information, see SecureString shouldn't be used on GitHub."

Forrás: Microsoft Docs - SecureString Class (System.Security) ( [link] )


"When porting code to .NET Core, consider that the contents of the array are not encrypted in memory."

[link]

2020. dec. 12. 23:34
Hasznos számodra ez a válasz?
 7/10 anonim ***** válasza:
50%
Ez arra figyelmeztet, hogy más operációs rendszeren veszélyforrás. :) De Windows alatt sima .NET C# teljesen OK
2020. dec. 13. 01:59
Hasznos számodra ez a válasz?
 8/10 anonim ***** válasza:
0%

A biztonsági kockázatot az jelenti, hogy ha egy vagy több változó idő előtt inicializálatlanul marad, később viszont használatba lesz véve /elvégre azért van ott/ a használat során a random memóriaszemét biztosítja majd a változó értékét, mint operandust. Ez pedig komoly veszélyforrás.

Tekintve, hogy a C soha nem inicializálta a változókat, így ez a tény széles körben ismertté és kihasználhatóvá vált.

Tekintve továbbá, hogy a PC-n futó programok zömét C-ben írták, ez nem kis gond.

Nem kizárólag, de ennek is köszönhetünk sok vírust, trójait, malware-t.

2020. dec. 13. 07:50
Hasznos számodra ez a válasz?
 9/10 anonim ***** válasza:

"korábban ott lévő adatot vissza lehet-e nyerni egy programmal"

Kb. erről szólt régebben a buffer overflow attack/vulnerability. (Illetve ma is, védelemtől függően.)

[link]

2020. dec. 13. 21:59
Hasznos számodra ez a válasz?
 10/10 anonim ***** válasza:
2020. dec. 14. 08:51
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!