Crashing an In-Flight Entertainment System
rabblerouzer writes "Hugh Thompson, who was interviewed by Slashdot on the dangers of e-voting, now has a cool blog entry on how he was able to bring down the gaming/movie console on an airplane. He calls it one of the most interesting examples of a software 'abuse case' he has ever seen." Fortunately the IFE system is totally disjoint from the avionics.
Fortunately the IFE system is totally disjoint from the avionics.
No offense, but I don't think avionics are your run of the mill programmers.
Your hair look like poop, Bob! - Wanker.
Unable to connect to database server
This either means that the username and password information in your settings.php file is incorrect or we can't contact the MySQL database server. This could mean your hosting provider's database server is down.
The MySQL error was: Too many connections.
Currently, the username is blogscio and the database server is localhost.
Are you sure you have the correct username and password?
Are you sure that you have typed the correct hostname?
Are you sure that the database server is running?
For more help, see the Installation and upgrading handbook. If you are unsure what these terms mean you should probably contact your hosting provider.
Spelling mistakes, grammatical errors, and stupid comments are intentional.
after 1 comment.
No replies and its already Slashdotted. And I thought nobody RTFAs.
We all know what to do, but we don't know how to get re-elected once we have done it
0. Install wireless NIC to In-Flight Entertainment System
1. Connect to wireless WAN and Internet
2. Install web server and post link to slashdot
3. Short sell airline stock
4. ???
5. Profit!
------ Take away the right to say fuck and you take away the right to say fuck the government.
About 4 years ago I was on a flight from London to Shanghai on Virgin Atlantic. They had the super cool, million chanels of stuff, pause, rewind, play games with people in other seats, send SMS and e-mail system in the plane. I did something that caused it to crash and eventually it rebooted. When it rebooted it was obvously some sort of Linux system. So, it happens... just FYI
Avionics aren't programmers at all. Or even people. Or living things.
"Hugh Thompson, who was interviewed by Slashdot on the dangers of e-voting, now has a cool blog entry on how he was able to bring down the gaming/movie console on an airplane. He calls it one of the most interesting examples of a software 'abuse case' he has ever seen."
It was also one of the most violent episodes to happen on a plane when angry, tired (and trapped) passengers beat a hacker senseless.
No kidding... It was in the late 80s on a new electronic scoring system they had just installed.
I made a trivial and totally unintentional mistake in the set-up (punching in
number of players, their names, etc) and it brought down the whole system.
$7.95/mo, 200 GB disk, 2TBxfer, MySQL, PHP, RoR.
Hugh Thompson, who was interviewed by Slashdot on the dangers of e-voting, now has a cool blog entry on how he was able to bring down the gaming/movie console on an airplane
/. to it?
What, did they link
interfering with a flight = crime? ONE WAY TRIP TO GITMO
If a job's not worth doing, it's not worth doing right.
I read this somewhere over a week ago it seems.
This is a system someone thought would not be attacked. Someone was obviously wrong. All systems need to be considered as targets and protected as best they can. There is always a trade off of security versus accessibility but I don't see that as the problem in this case. They went cheap, quick, and dirty and put a system into place where security was a minor concern at best.
I reserve the right to think for myself. Others' opinions are optional. Puppy on lap = typos...not illiteracy.
Shit. Beaten to it multiple times in the space of the two minutes it took me to put my post together. So much for noble intentions... >_
Goo goo g'joob.
Wow, 5 entire copies of TFA in the comments so far... Do you people not browse the comments before you post?
Carefull, this may encourage people to actually RTFA...
"Freedom in the USA is not the ability to do what you want. It is the ability to stop others from doing what THEY want"
I'm not so sure I'd want to put my name out there as "the guy who brought down the computers on a plane". He'll be lucky not to land on the no-fly list, I think.
Care about privacy? Read this!
It's called a 'fencepost' bug, or 'off-by-one' bug.
:)
:)
Dam lazy programmers not using Assert() these days...
(And yes, I am one, programmer that is, not lazy
Okay, I *am* an avionics programmer. Here's some background.
FAA regulations categorize software in 5 different levels of criticality, depending on how a failure of the software would affect the safety of the plane. Level "A" software is reserved for things like the "low fuel" alarm, which could potentially knock the plane out of the air on failure, to level "C" for things like the cabin pressurization system where the pilots can take emergency actions to compensate, to level "E" for things like the microwave in the kitchen.
(Beware: I gloss over a few details for clarity.)
The higher levels of software criticality have progressively higher levels of standards for testing. In the case of level-A software, each individual line of code must be examined for correctness in the context of the rest of the code. Each line of code must be executed as part of testing and actively shown to be correct, and each line of code must be individually code reviewed by another engineer.
At the higher levels of software, limit testing is required for all function arguments and if-statements. Multiple-clause if statements such as "if A and B but not C" must be tested for all combinations of the subject clauses, and so on.
In addition to this, all avionics software I've worked on makes a distinction between showing erroneous information and showing *no* information (or, working incorrectly versus not working at all). If the digital altimeter goes blank, the pilots will notice and can take corrective action. If the altimeter is reading the wrong information, then that's a critical failure which could cause an accident.
Thus, avionics software innards are heavily checked throughout execution to ensure proper operation, and any failure causes the system to immediately go offline. All function arguments are ASSERT'ed for correct range, all calculations are checked for range and accuracy, &c.
The entertainment system, and in particular a game within the entertainment system, is almost certainly a level-E software component, and so is not required to go through such rigorous testing. The hardware has to be shown to not interfere with the avionics and that's about it.
On a recent Air Canada flight the flight attendant actually came on the PA to tell everyone that the in-flight entertainment system was being turned on for our use. She then proceeded to tell us to be sure we didn't push 4 of the buttons on the main screen or else the screen at your seat would crash and they would be unable to fix it in flight. I thought it strange that a computer entertainment system installed in an aircraft would be a "work in progress" instead of just installing a full-functional system. Among the buttons we were not to touch? Weather and Flight tracking...of course.
That reads like a great story, but where is the proof that it actually happened... or are we supposed to believe it because it was on the internets? Having already seen this story a number of times on other blogs, ALL of them with advertising, the author certainly would have a good profitable reason to make up the story.
Okay, who entered the number 5 and kept pushing +? Congratulation, you just crashed the server.
Carbon based humanoid in training.
http://mirrordot.org/stories/78b27588587fb8b086acd 346451d845a/index.html
Why is it that when you believe something it's an opinion, but when I believe something it's a manifesto?
I fly across the pacific a few times every year and they always warn people to take it easy and be patient with the IFE "or it will crash" - which is certainly true - without trying I managed to spend 10 hours staring at a Windows CE "some thing bad happened" dialog box .... couldn't even turn the damn thing off when I wanted to sleep
FBI spider sees 3 words: "bring down plane", and Dept. Homeland Security goes nuts.
Table-ized A.I.
I was coming back from a conference wearing a hat with a promenent penguin on it, when our in-flight system crashed. As it was re-booting it was obvious to some of the more tech-minded passengers that it was running through the Linux boot sequence. I started hearing calls of "lynch the guy with the penguin hat", from the seats behind me...
I suspect it might be fairly common for seat-back computers to crash?
I don't know enough about Linux to understand what it said on my screen when it was trying (and failing) to boot back up again:
http://washedashore.com/misc/inflight_error.jpg
(This was April 23, 2005, on a flight from Bucuresti Romania to NYC.)
-Ben
sure, it wasn't critical - and I'd hate to have him get on a no-fly list or get fined or be banned from that airline.. or whatever.
:P
But this isn't just some kid accidentally hitting that remote, changing things to 5, then playing.. or then realizing they can hit up a few more times.. and then playing.
This guy actually knew, in his mind, what was going on.. Not only that... at the point where things would go wrong, he actually paused, sat back, made the change that might make things go wrong and enjoyed the half-expected result.
That's intent, right there. If nothing else, he should be slapped around for making the rest of the cabin annoyed because their in-flight entertainment was interrupted for no good reason whatsoever - causing a flight attendant to be occupied with a task he/she should not have been occupied with, etc. etc.
If this guy wants to have fun with mucking about with systems, have him get his own in-flight entertainment system, or apply for a job at a place that makes these things / the software
That said.. yay that he found the bug.. I hope they fixed it now.
I crashed out a whole gas station.. whoops. I wasn't trying to find a corner case, it just had very very VERY crappy code apparently. My apologies if the writer of the code reads slashdot, but seriously, come on! 8-) I think the instructions said to select grade of gas, select inside or outside, and THEN put the gas nozzle into the car. What I did (I think) was pull the nozzle, push "pay inside", then the grade. Anyway, I didn't do anything weird like mash buttons or anything, I just did it not in the exact order listed. The screen blanked out! OK, so I pulled out and went to the next pump. It was dead too! I drove by the others and saw they were all dead. Whoops. Yeah.. I left and went to a working gas station then. I've used the same style pumps (usually not doing the right order still) and haven't had them crash, so I think the software has been improved. But holy crap! You'd think it would have been SLIGHTLY tested before it was put in the field.
So what do you do for X hours on a flight after the entertainment is gone, you selfish prick?! Hope the guy gets arrested when he lands! Anyone got a keylogger for this yet?
Pilot: "Dave, set the autopilot for LAX so we'll be on time. We don't want to be late."
(click, click)
Autopilot: "I'm sorry, Dave. I'm afraid I can't do that."
Knowing Google's lust for data collection, the Soviet Union is still alive and well inside the psyche of Sergey Brin....
I think it's more of a case of bad quality control. If the testing environment of the developers had contained a single "lets throw an exception" or maybe a "lets try to lock up a process at 100%" test, they would have see that they needed to at a bit of exception handling (in the first case).
But writing good test cases can be hard.
Anyway. I've seen code like this tons of times. Some people apparently have issues with (how hard can it be), so they use equal instead, but one day, the step value is changed from 1 to 2 (make it go directly from 99 to 101), or some routine fails and returns a default value of -1. And suddenly the code is in the twilight zone.
Anyway^2, I actually did find this rather un-interesting.
TC - My Photos..
Deliberately crashing the IFE system is no great accomplishment. At least some of the darn things crash themselves just fine with no abuse. I was on a Virgin Atlantic flight from Washington, DC to London a couple of years ago, and the IFE systems would crash on a regular basis by groups of four seats. You could be blissfully watching a movie and then poof, everything goes dark. The flight attendant would reset the system and then sometimes it would come back up and other times it would just sit there at a dark screen. Uptimes varied from 10 minutes to a couple of hours. Very, very frustrating, both for the kids trying to play but getting frustrated and cranky and for the parents trying to keep their sanity during an eight hour flight.
--Paul
"Today, Sesame Street was brought down by the number 5"
Table-ized A.I.
The word wasn't "fortune," though. It was "fortunately." Unlike "fortune," "fortunately" does not imply that luck was involved. It simply means that it was a beneficial arrangement. The sentence in the summary does not imply, in any way, that mere luck is responsible for the arrangement of the avionics and entertainment systems. You invented that ridiculousness on your own. "Fortunately" is derived from "fortune," but that does not mean that they carry the same meaning, as any dictionary will tell you.
Another example...if I give you "a murderous look" it does not mean (or even imply) that I killed you, attempted to kill you, or even contemplated a violent act toward you. "Murder" and "murderous" are not as close in definition as they are in derivation.
The US free market: two halves of a government-granted duopoly are free to set the market price.
but it is connected to the sewage control system. Now we know the mysterious source of ice falling from the skies lately. Could it be?
"To those who are overly cautious, everything is impossible. "
Who let that guy onto the plane with a brain over 3 ounces? Don't they know that thing is a deadly weapon? Heads are going to roll.
Several years ago I managed to crash an in flight entertainment system on a united flight completely inadvertently. The system in question required only had a few games for free with the rest costing money to unlock. Since I objected to having to pay for the games I restricted myself to the free games until suddenly in the middle of a game of pong it got more and more sluggish until the screen freezes, goes black and the system reset itself. I went back into pong, cranked up the number of balls to the max allowed (4 IIRC) and noticed that now it would crash within a minute or two.
Playing around (there really was nothing better to do) I found that quickly wiggling the bat around with 4 balls on the screen would crash the system. After about the 4th or 5th crash the system came back up but this time with all the games enabled! After that I was careful not to crash the system but still about 30 minutes from landing it crashed again and came back up with only the free games.
I wondered at the time how such an easily triggered failure could have been overlooked. Unlike the article my crash only affected my screen...but at least there was some beneficial affect!
Based on the description of the IFE system and having recently flown and played a version of Tetris which fits his description .....
Delta 767
I'll see if I can confirm the hack without the crash (I guess I'm just too nice) next week.
This would be all true and believable if it weren't for the fact that airlines stopped serving peanuts on flights a few years ago due to allergy complaints. If you have had peanuts served to you lately, let me know what airline it was because I miss them!
FBI most wanted 1.OBL 2.Irrational #'s
Wouldn't you want to buy Fruit of the Loom, since the victims will have to buy new underpants?
The space unintentionally left unblank.
How long until he gets arrested for terrorism?
I flew Delta today, and they rebooted their IFE to try and address an issue. I thought it was pretty interesting when I saw the familiar linux boot messages appear, and indeed it was Red Hat--complete with Tux icon. I hadn't heard of Delta's use of Linux, and if it wasn't for the reboot you would never have know--who knows where Linux is in use by the masses, and don't realize how important it is becoming to them?
Unfortunately, the reboot didn't fix the issue.
--
$tar -xvf
What? You're messing around with something on an AIRPLANE??? You fool, I hope you like spending the rest of your life in Gitmo. You would think in this post-9/11 world people would learn that this kind of thing on planes isn't funny anymore, ESPECIALLY if you use the word "crash" to describe it.
I was coming back from a conference wearing a hat with a promenent penguin on it, when our in-flight system crashed. As it was re-booting it was obvious to some of the more tech-minded passengers that it was running through the Linux boot sequence. I started hearing calls of "lynch the guy with the penguin hat", from the seats behind me...
Unlikely that was the tech-minded passengers. More likely, some people saw the penguin and though "OMG, that guy hax0red the system and put the penguin picture on his hat into it".
Oh, great.
... snot nosed little imitations of Beavis & Butthead snorting with glee as they crash the IFE system for the tenth time in as many hours :(
Now I can just imagine my next cross-Pacific flight
But, if you want to confuse them, use:
value = ((12 >> value) & 3)
as this gives you greycodes.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
The fact that the WHOLE system has to reboot if just one entertainment application goes down seems embressing/stupid to me.
Sounds like overly simplistic program management. They should have used a watchdog program to ensure that each process is up and running like normal and if they crash, they get restarted individually, not the entire system. that way, if you crash your console, you won't affect the experience of the other people around you.
Cheers
Ben
Yeah, it seems like the better way to leave the asserts in the release code because users are more likely to stumble across bugs then the testers are.
Your "million-dollar" code is far too complex and massize to be fully tested by any normal size QA department or for all of the corner cases to be thought of by the programmers.
A better solution however is to use exceptions and exception-handling so the application can recover from the error by alerting the user, emailing an error report, and trying to rollback to a previous stable configuration.
However, way too many people bitch and whine about how much overhead exceptions take so expect to see more crashing asserts.
Cheers
Ben
When I flew with British Air in 2002, they had touchscreen/telephones in each seat. Made the intercontinental flight much less boring.
In the sector of real-time/avionics/defense applications (like the one that I work in), it is procedures who save the day, not programmers. Managers of these systems actually prefer average programmers who do not try to be smart and follow guidelines 100%. It is the strict conformance to the software development procedures (coding, debugging, testing) that allow these systems to have 100% uptime.
My hypothesis is that people who would have scored, say, 1 sigma below 100 are much less likely than those at +1 sigma to be in an environment where they would be tested.
Set your phasers on "funky"!
Fortunately the IFE system is totally disjoint from the avionics.
I was at a presentation (about nine years ago, now) where someone from the aviation industry was showing us the future (or the future as he hoped) of aircraft systems - in particular a new bus that was being used for communication around the aircraft. And yes, the in-flight-entertainment used the same bus as the avionics. It was being actively presented as a positive feature. Sadly, I don't remember the details.
This was the first photo I took when we headed off for a 6 week holiday last December, flying Qantas. http://img216.imageshack.us/img216/7781/img0716lar gets0.jpg
Wait wait wait, so let me get this straight: you have to sit in that seat and stare at the 4 buttons they specifically told you not to push? For hours on end? That is my own vision of a personal hell.
Sure, but Fruit of the Loom will have to compete with the dirt-cheap Gnome Underpants flooding the market. If you search long enough, you'll find an exact replacement for the ones you lost!
Antiquis temporibus, nati tibi similes in rupibus ventosissimis exponebantur ad necem.
His next story is going to be about how two hot flight attendants took him in the bathroom and did him. It will be as believable. The part about how the other passengers' screens blinked out one by one didn't sound real to me. If there was a system-wide crash, wouldn't they all say "tilt" at the same time? I am definitely not a programmer (but I've done my share of software abuse) so I don't really know, but it sounds too cinematic to be true.
You are welcome on my lawn.
Yes Kapton wiring we all know (or should know) the nasties of this Du Pont wiring in most commercial (banned in military and astronautics) equipment.
I bet if he found the power lines by ripping open the plastic he could just short them out, start a fire or smoke alarms and you can bet they will land that plane or redirect it very quickly.
Nothing beats a simple hardware hack to cause chaos and potentially cost lives.
Who needs a gun these days?
And backing that up, a hardware watchdog timer that'll force a reset/state recovery if not fed regularly.
That system probably started in the development pipeline a number of years ago, but these days, I'd question any system that used one central processor for all the consoles. An ARM9 Linux-onna-chip for each one shouldn't bump the unit cost much in quantity, and would be more rugged with much less complex network cabling (a major cost/safety issue on planes). There'd be network code involved rather than one fat problem^w program, but that's all off the shelf. Fly Beowulf!
One line blog. I hear that they're called Twitters now.
that all programming languages have an Assert() function...
Meddle thou not in the affairs of Dragons, for thou art crunchy and with most anything.
Couple the in-flight entertainment system with the avionics, then it would become a crime to expose the flaws.
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
Nice going slashdotters.
== First cross river, then insult alligator.
"Gremlins! Gremlins! I'm not imagining it, he's on the LAN! Don't look, he's not out there now. He swaps out whenever anyone might stat him, except me."
One line blog. I hear that they're called Twitters now.
Seems likely some of the people on the place would be coming back from the same conference and probably just as tech-savvy as this guy.
... it's the Oceanic Flight 815!
There was/is no danger of this happening. I develop software for major airline Flight Management Systems (FMS) and the entertainment system is physically separated from the FMS as well as other "flight critical" systems. Also, Software on an aircraft needs to be developed according to the guidelines of RTCA's DO-178B, which classifies the fallout of software into "levels". The most critical, Level A, like autopilot and flight controls requires very stringent evidence of verification. The least critical, Level E, requires basically no verification or documentation whatsoever, and this is what entertainment systems are developed under.
There was a case in the early days when in-flight entertainment systems were first put on planes where a short in the video system crashed other critical computer components due to the entertainment system and flight system being on the same electrical bus. This obviously caused changes to the rules, so now everything is separated.
Good old Dr Fun
One line blog. I hear that they're called Twitters now.
Of course, there's a bug in my code! Maybe I meant #ifndef not #ifdef eesh... /me whistles innocently...
Time flies like an arrow. Fruit flies like a banana.
My IBM laptop crashed last time I was in an airplane with it.. It was a battery/power level bug. Seriously, How is crashing a gaming system in an airplane differant than crashing one at home? I see nothing special... move along...
Ad eundum quo nemo ante iit!
recently I saw a similar bug with unsigned numbers.. it went something like for(unsigned int i=num;i>0;i=i-2)
You've been on Slashdot for 5 years, and now you start posting, and you come up with one of the least useful posts possible.
You just summarized TFA's explanation of "what went wrong," but less succinctly and less coherently than TFA.
Way to go.
I recently flew Cathay Pacific to Hong Kong, and yes, the in-flight entertainment system is Linux based, although I did not notice which distro.
If you are looking for Linux in use, in business, don't forget the phone company uses Unix for the electronic switching equipment. Always have. That is a HUGE installed base.
Kinda off topic, but I've always thought it would be a bit morbid (i.e., amusing) to have a flight simulator as one of the games available on those console if for no other reason than to upset the other passengers who don't realize it's a game.
Some people have a way with words, and some people, um, thingy.
On my Delta flight this morning one of the in-seat-boxes rebooted with a cute little Tux boot image. It was a few rows in front of me so I couldn't identify a specific version. The plane was one of the 757's they acquired from Song last year.
I'm still at the airport waiting for my next flight. God, I love free internet access! (Sorry to bring religion into this)
Bab72 (Not my real name)
Don't touch it!
When I flew to Malaysia, the airline Cathay Pacific, the entertainment consoles were running linux with Mame.
Found myself seated next to an IFE tech, a most buxom and cute island chick, on a recent transpacific flight. Took us about 10 minutes to figure out a workable hotbox - joystick interface.
No way! Not here on slashdot.
Up is down. War is peace. Your enemy is your friend. Making money is bad. Companies and corporations are bad. Fuck Bush and co. Yea Apple and Yea Google.
I for one, welcome, our new "shorting when news is good" overlords.
JAL has a great solution for it's business and first class passangers that want video game entertainment. They just hand you a Nintendo DS. Problem solved.
Are you an SCO attorney?
"Sacrifice for the good of The State" - The State
Saw Hugh at the RSA conference, where he told this story and talked about a new internet talk show that he's hosting. Don't know that it's for everyone, but the slashdot crowd should dig it.
Although I'm not losing any more sleep over it knowing that equally talented people are in charge of my bank account, antilock brake system, 911 emergency call center, and missile launch silos.
Actually I haven't slept in 19 days. Help!
Give a man a fish and you have fed him for today. Teach a man to fish, and he'll say "WHERE'S MY FISH, YOU IDIOT?"
- the missing link is the phone keypad that controls the video. I don't fly much, but I've never seen one of those. The phone is always a separate gizmo from the EFIS.
Anybody ever seen a phone that controls the EFIS?
Not to take away from this story - Hugh told it at his (otherwise somewhat lame) RSA keynote appearance. It was very funny story as told.
Give a man a fish and you have fed him for today. Teach a man to fish, and he'll say "WHERE'S MY FISH, YOU IDIOT?"
Test *software*, if it is used, is software that exists outside of the avionics software in question. It does not need to be rigorously tested, only "qualified" (FAA term). Qualification means that someone goes over the code in a cursory manner and checks each logical case the software tests for, and verifies correct operation.
For example, a coverage analysis tool would have a qualification test report that shows the system works for an if-statement, a for-loop, a while-loop, and so on. Similarly, the compiler is qualified by showing that it generates correct code for an if-statement, a for-loop, &c.
In practice, there is usually very little external test software that can be used effectively. Exceptions exist, but largely much of the avionics software components don't port to another system for testing very well. (As opposed to testing the *entire unit* by having some sort of simulator computer which generates synthesized inputs, which works very well.) (Fly-by-wire calculation engines being one of the exceptions.)
In the case of ASSERT's and other constructs which continuously check the code inside the unit, they are considered to be part of the avionics software and thus must undergo the same level of criticality testing as the rest of the code.
As an example from projects I have worked on, in a level-A project each separate ASSERT statement was tested for both cases (pass/fail) and verified to be working. In a level-C project the ASSERT macro was analyzed and shown to generate correct code, and then a handful of the simple-clause ASSERT's were rigorously tested, and from this all the rest of the simple ASSERT's were deemed OK. (and complex clause ASSERT's were rewritten to use simple clauses, and the one remaining complex ASSERT was tested rigorously).
In fact, you might even consider crashing it repeatedly, although that does kind of destroy any claim to innocence you might have.
If you want them to start rolling out decent software, you have to demonstrate that the existing software is not good enough. If it keeps crashing, and people on the plane start complaining, they might actually fix the problem.
Don't thank God, thank a doctor!
You can't test the complex and massive million-dollar code, fine. At least test the individual components.
And yes, exceptions are the right approach here. I'll have to read about that overhead, though, I've never heard of exceptions being a performance issue...
Don't thank God, thank a doctor!
The IFE systems I've seen have a mode where you can see various plane/trip statistics, such as current altitude, distance to destination, and an icon of your plane superimposed on a map showing your point of departure and your destination.
One of the items shown is OAT, which means "Outside Air Temperature". This and the several other plane data items leade me to believe that the IFE system is connected to the plane's ARINC bus.
The ARINC bus is a wired network system within the airplane, and is used by the avionics systems to pass information back and forth. The altimeter places altitude on the bus, the autopilot reads altitude and makes corrections. The gas tanks place "amount of fuel left" on the bus, the cockpit computer reads this information and triggers an alert if necessary. And so on and so on for literally hundreds of types of information.
If the IFE is connected to the flight computer ARINC bus directly (likely), then it is possible for the IFE to fail in such a way as to interfere with the flight computer. One simple way would be for the IFE to send zillions of ARINC packets back to the flight computer and slow it down enough to degrade performance.
Of course, the flight computer is level-A, and has a separate ARINC bus for the IFE, and is specifically engineered to defend against such problems from external devices. And these sorts of problems are trivial to simulate during testing, so we know that the avionics computer is robust. (Testing for these sorts of problems is specifically called for in the FAA regs.)
But the point is this: the IFE *is* connected to the avionics system, but that system is hardened and will not crash.
127 + 1 = -128.
> No offense, but I don't think avionics are your run of the mill programmers.
I was an intern, back in college, and I wrote code to test the avionics hardware. The code was ugly, and it was in some form of VB (I'm repeating myself, I know).
Granted, I don't think I did anything wrong--if anything, knowing that it was for something important made me want to code as best I could, but I was still just some random college student who was chosen primarily for having BASIC on his resume (the wrong form of BASIC, but learning VB isn't exactly difficult, I think that even monkeys could be trained to use it and they may have written it to begin with).
Oh, and this was with respect to the actual avionics, not some IFE (they didn't have those back then). Yeah, that means reading & writing things like pitch, roll and yaw. I believe that the avionics even communicated over some form of Ethernet? Although it would, of course, be isolated from anything the passengers are supposed to have access to.
That depends on the shape of the distribution.
For instance, there could be one or two drivers who are so astoundingly bad that they drag the average down to the point that everyone else is above it. It is perfectly possible for more than half of a population to be 'above average.'
You have confused average and median. Median is the middle value of a population. With the median, we can create frightful statistical nonsense phrases like, "Did you know that roughly 50% of all doctors graduated in the bottom half of their class? Scary."
Can you be Even More Awesome?!
BA Lufthansa? Have you travelled back in time to make your prediction of consolidation among European carriers, or did I just miss the memo?
The NSF data miners might not like that you used "crash" and "flight" in the same sentence.
"Crashing an In-Flight Entertainment System"
If you'd like to really dumbfound me, maybe you'd like to point out where I advocated said policy. To anyone with an IQ approaching their body temperature it's pretty clear that I hardly gave it a glowing endorsement; though I guess you'd need to know what big words like "obsolete" and "finished" mean to grok that.
You may also like to note the difference between "could" and "should" before you come back here and end up with a hat-trick of what most people only have one of.The precis normally comes before the article.
Only three things are certain; death, taxes, and apocryphal quotations - Ben Franklin.
If a crime had been committed through their fault, rest assured that they -would- have been criminally liable. As it is, they have professional liability to worry about if this guy's tinkering did actually crash the plane or otherwise caused irrepairable damage or harm to any one person.
should the programmers be held 'liable' over an entertainment system going down? no
should the guy be held 'liable'? no
should he be slapped around because he full well knew something might happen and in his infinite curiosity, tried it, then sat back and smiled to himself? yes
should the programmers fix the damn bug? hell yes