バッファオーバーフロー攻撃を含めたメモリ破壊攻撃全般を緩和する技術としてASLR（Address Space Layout Randomization、アドレス空間配置のランダム化）がある。これは仮想メモリ空間におけるスタック領域やコード領域の位置、読み込まれるDLLの位置等を（プログラム起動時もしくはOS自身の起動時に）ランダムに変える技術で、これにより攻撃者が攻撃に有効な実行コードの特定箇所を指定してメモリ改ざんを行うのを困難にする。ASLRはバッファオーバーフロー攻撃の発展形であるReturn-to-libc攻撃（後述）を緩和できるが、さらにその発展形である Return-oriented programmingには対抗できない。カーネル空間のASLRをKASLR（Kernel Address Space Layout Randomization)といい、linuxカーネル(バージョン3.14以降)、iOS(バージョン6以降)などで実装されている。またKASLRをバイパスしようとする攻撃に対抗する為の機構としてKernel page-table isolationがある。gccとg++でコンパイルとスタック領域とヒープ領域に対してはASLRを用いるが、コード領域にASLRを用いるにはオプション「-pie」を使わねばならない。また共有ライブラリにASLRを用いるにはオプション「-fPIC」を指定する。
標準Cライブラリ等にはバッファオーバーフロー検知機能が施されていない関数が収録されているので、これを検知機能を持った関数に置き換えたライブラリを標準Cライブラリの代わりに使う事で攻撃を検知できる。例えばLibsafeは標準Cライブラリのstrcpy(*dest,*src)をより安全な関数に置き換えており、入力srcのサイズがコピー先のdestのサイズが大きいか否かを検知できる。
古典的バッファオーバーフローやヒープオーバーフローなどの結果として、関数ポインタの書き換えが可能になるケースがある。攻撃者はnmコマンドを用いる事でプログラム中で用いられている様々な関数のアドレスを知る事ができるので、nmの結果を参照して攻撃に利用可能な関数に関数ポインタの値を書き換えられる。
バッファオーバーフロー攻撃の結果として、write-what-where状態（"write-what-where condition"、CWE-123。任意の場所に任意の値を書き込むことができる状態）になる危険がある。write-what-where状態になると、セキュリティポリシーのスコープ外にメモリのデータを書き込むことができる。セキュリティポリシーのスコープ外にコードを置くことで、攻撃者はほぼ確実に任意のコードを実行できるようになる。管理者権限を制御しているフラグ等が書き換えられる場合も、攻撃者は任意のコードが実行可能になる。
より高度なヒープベースバッファオーバーフロー攻撃として、mallocがメモリ管理に使うメタデータを書き換える手法がある。例えばXP SP1ないしそれ以前のWindowsでは、mallocしたメモリ領域をオーバーフローさせる事で、そのメモリ領域の（仮想アドレス空間で）隣りにある未使用chunkのflinkやblinkを任意のアドレスに書き換えるという攻撃手法が可能あった。flinkやblinkはcoalesceのタイミングでmallocにより参照されるので攻撃が成功する。
より高度なヒープベースバッファオーバーフロー攻撃手法を説明する為の準備として、mallocのメモリ管理方法を説明する。なおメモリ管理方法の詳細はmallocの実装に依存するため、実行環境によって細かなところは下記の説明と異なる部分があるので注意されたい。mallocは未使用なヒープ領域（の一部）をメモリプールとして管理しており、メモリプールは複数のchunkと呼ばれる単位からなっている。プログラム中でmallocが実行されるたびに、管理しているchunkの中から適切なサイズのものをプログラムに返す。適切なサイズのchunkがない場合は、システムコールにより新たなchunkを確保してプログラムに返す。mallocはchunkを（サイズ毎に異なる複数の）連結リストとして管理しており、chunkをプログラムに渡す際にこの連結リストからchunkを削除し、プログラムがメモリ領域をfreeすると、freeされたchunkが連結リストに加わる。chunkは連結リストとして管理されているので、各chunkには「次のchunk」を指定するポインタ（windowsでは「flink」、linuxでは「fd」）や「前のchunk」を指定するポインタ（windowsでは「blink」、linuxでは「bk」）がある。未使用chunkと隣接するメモリ領域が開放された場合は、開放されたメモリ領域と未使用chunkとを連結(coalesce)する事で1つの大きなchunkを作って管理する。
SH-60シリーズは、シコルスキー社のH-60シリーズの海軍型である。基本的には、陸軍向けのUH-60 ブラックホークをもとにしているが、電子設備や兵装、機体構造など、相違点が多い。艦上の狭い格納庫に収納するため、テールコーンは手動、メインローターは電動による折りたたみが可能で、後部主脚位置も変更されている。また、駆逐艦などの狭い飛行甲板から離着陸しなければならないLAMPSヘリコプターについては、悪天候の中で着艦するためのRASTシステムが装備され、さらに尾輪は複列式となっている。一方、過酷な野戦環境での乱暴な離着陸を考慮しなくて良いので、主脚はやや簡素化されている。生存性にも配慮されており、油圧装置故障時には人力で操舵が可能であるほか、燃料タンク下面及びドライブシャフトは12.7mm機銃弾に耐えることができる。また、各動力伝達ギアには、故障の原因となる金屑片を焼き切って除去する機能があり、潤滑油を完全に喪失した後も15-30分間飛行が可能である。テールローター機能喪失の際も前進速度があれば、垂直安定板などの空力特性により機首方位を保ち、一定速度での飛行が可能である。コンピューターシステムにも同様の配慮がなされており、最重要である通信航法機能は、主電源が断絶されるまで使用可能であるほか、メインコンピューターシステムは、MIL-STD-1553多重データバスにより、レーダー系統、ソナー系統、火器管制系統とおのおの分離しており、メインコンピューターの機能が破壊された場合も、戦傷処理機能により重要な一部の機能の確保がなされる。不時着陸時はクラッシュワージネスと呼ばれる安全構造で、機体や座席を衝撃軽減機能として乗員の生存率を高め、着水時には緊急浮袋を展開し、機内燃料タンクが予備浮力として働くことにより、水没を防いでいる。SH-60B LAMPSヘリコプターや、航空母艦搭載のSH-60F艦上ヘリコプターは、対潜攻撃を主任務としており、SH-60Bはソノブイ、SH-60Fはディッピングソナーを使用して潜水艦を探知するほか、LAMPSヘリコプターでは対艦ミサイルの運用も可能である。また、いずれも副次的に捜索救難も担うため、救助ホイストの装備が可能となっている。これを元に救難専任機としたHH-60HやHH-60Jでは救難用装備が搭載されており、戦闘捜索救難を考慮したHH-60Hでは、機関銃や対戦車ミサイルなどによる武装も施されている。また、対テロ作戦や海賊の取り締まりが重要になるにつれ、多くの機体に機関銃が搭載されつつある。