News for hackers. Stuff that matters.
Re:FaceTime bug lets you hear audio of person you are callin... by NelsonMinar on Monday January 28, 2019 @08:12PM (#19022812)
I'm always curious how a bug like this ships. I mean QA & Testing should catch it, sure. But even before then. Some engineer wrote code for FaceTime that has it open the microphone before the call is accepted. And transmit the audio over the network before the call is accepted. Who did that? And why? I'm not suggesting malice but I do wonder at the lack of defensive programming.
Re:FaceTime bug lets you hear audio of person you are callin... by yalok on Tuesday January 29, 2019 @02:13AM (#19024421)
My guess is that it’s an unfortunate combination of several problems:

- audio and video capture has to start going before call is actually established at signaling level, in order to minimize call establishment delay. Audio maybe going through Bluetooth, for example, and waking up Handsfree mode of BT may take 1-2 sec

- most of the group calling functionality was developed by a separate team, and group calling signaling may be loosely integrated at UI level, where, once UI triggers a switch to a group call - internally, the whole new library may kick in and get the current 1-1 call state transferred to it.

- when this “transfer” happens, the state of the first 1-1 call gets affected (at either local or remote side (due to signaling), which leads to either remote side think that the call was answered (a lack of protection in the call signaling state machine to ensure it was users UI action) or local side thinks it’s ok that remote users answers the call (in this case FT must have streamed audio even during 1-1 call establishment phase)

- lack of a check for your own phone number added to a call. This, due to having the same IDs/tokens twice in a group call, may lead to unexpected call signaling state machine switch

- lack of manual testing with focus on edge cases (like the described flow to repro the bug may not be the main flow for how users start group calls on FT)

I never worked at Apple, but I built VoIP stuff for the past 20 years.

Re:FaceTime bug lets you hear audio of person you are callin... by brownbat on Tuesday January 29, 2019 @07:31AM (#19025775)
They were trying to reduce a latency and accidentally made it negative.
Re:FaceTime bug lets you hear audio of person you are callin... by jasallen on Tuesday January 29, 2019 @10:48AM (#19027249)
"negative latency". That's a Jobs worthy dodge right there.
Re:FaceTime bug lets you hear audio of person you are callin... by NegativeLatency on Tuesday January 29, 2019 @04:29PM (#19029967)
It's weird seeing my username come up in a comment.
Re:FaceTime bug lets you hear audio of person you are callin... by hi41 on Tuesday January 29, 2019 @07:19PM (#19031339)
Does it mean I got to read your msg before you clicked the post button! :-)
Re:FaceTime bug lets you hear audio of person you are callin... by dreamcompiler on Tuesday January 29, 2019 @04:11PM (#19029807)
> They were trying to reduce a latency and accidentally made it negative.

Ha! Facetime is now a non-causal filter.

Re:FaceTime bug lets you hear audio of person you are callin... by trumped on Tuesday January 29, 2019 @01:20PM (#19028604)
latency of local hardware is much lower then cellphone/internet latency... so even if you bring local hardware latency to 0, you still have major network lag... I know you are kidding but this is ridiculous

They supposedly have these chips that make your phone much more secure and they can't get stupid stuff like this right? LOL ... GO APPLE. My trust level was already close to zero before this...

Re:FaceTime bug lets you hear audio of person you are callin... by nucleardog on Tuesday January 29, 2019 @07:19PM (#19031342)
Latency between answering the call and being able to actually talk to the person on the other end.
Re:FaceTime bug lets you hear audio of person you are callin... by trumped on Wednesday January 30, 2019 @11:13PM (#19042268)
right... the network creates the latency, not the time it takes to turn on a microphone (which is instant when compared to network latency)
Re:FaceTime bug lets you hear audio of person you are callin... by zimpenfish on Tuesday January 29, 2019 @07:36AM (#19025801)
> leads to either remote side think that the call was answered

Maybe that's triggered by adding your own number? Since you're clearly on the call already, your own number is obviously going to answer immediately and that kicks the whole call into "active" (since you presumably want a call to become active when more than one person has answered) without considering that you've actually got A+A+B instead of A+B+C.

Re:FaceTime bug lets you hear audio of person you are callin... by yalok on Tuesday January 29, 2019 @08:07PM (#19031622)
maybe - it's hard to tell, and I did bring up that other option as well. It's just that when a 1-1 call upgrades to a multiparty call, there should a be a lot of new stuff going on at signaling level to convert that 1-1 call to multiparty - and a chance is that it's a combination that leads to this bug - a call gets upgraded to a multiparty AND a number being added is already part of the call...
Re:FaceTime bug lets you hear audio of person you are callin... by nolok on Tuesday January 29, 2019 @04:57AM (#19025123)
> audio and video capture has to start going before call is actually established at signaling level, in order to minimize call establishment delay. Audio maybe going through Bluetooth, for example, and waking up Handsfree mode of BT may take 1-2 sec

As a user, while I can accept capture starting before I answer, I cannot accept sending. I understand how it helps the speed of establishing calls.

But it means the only thing needed to spy on me from that is a software change ON THE OTHER SIDE. No way to know from my side if I'm good or not.

Re:FaceTime bug lets you hear audio of person you are callin... by enedil on Tuesday January 29, 2019 @06:04AM (#19025396)
But your comment it missing the point. Parent commenter said it needs to start recording audio and video earlier, and a combination of other circumstances cause the device to send the data. Nobody argues this is acceptable.
Re:FaceTime bug lets you hear audio of person you are callin... by akvadrako on Tuesday January 29, 2019 @05:26AM (#19025259)
I don't think that's what he meant. It can be sending empty audio, but the whole path needs to be up and running.
Re:FaceTime bug lets you hear audio of person you are callin... by yalok on Tuesday January 29, 2019 @08:21PM (#19031700)
I am not saying whether sending happens at the establishment phase or not - it's just that when your AV capturing is started and even encoding goes on - it's a matter of dropping the actual AV packets or sending them at the network stack/jitter buffer level. By the way, if not for privacy/security, it's actually very useful to start sending AV stream over the network, to pre-heat the network & test its throughput. For example, cellular data bitrate ramps up only when you actually send data, and it takes some delay to ramp up at more power-hungry levels and for cellular to even test what's possible. Also, estimating network bandwidth for the application layer requires measuring the round-trip time for a few seconds...
Re:FaceTime bug lets you hear audio of person you are callin... by Someone1234 on Monday January 28, 2019 @08:38PM (#19022935)
It reminds me of this MacOS bug from last year, where simply hitting the login box over and over with no password would eventually bypass the security entirely:

https://www.theregister.co.uk/2017/11/28/root_access_bypass_...

And this other MacOS bug, also from last year, where the password hint would contain the plain text encryption password:

https://www.theregister.co.uk/2017/10/05/apple_patches_passw...

All within a month of each other.

Re:FaceTime bug lets you hear audio of person you are callin... by judge2020 on Monday January 28, 2019 @08:58PM (#19023025)
Not Apple related, but you could log into any linux box using a specific few versions of grub2 by hitting backspace 28 times: https://motherboard.vice.com/en_us/article/ezpdqz/hack-into-...
Re:FaceTime bug lets you hear audio of person you are callin... by biggestdecision on Monday January 28, 2019 @09:21PM (#19023136)
This bug only applied to grub authentication, which isn't a widely used feature. And you could achieve the same result with boot from disk/USB if that is enabled.

The vuln doesn't give you access to the actual accounts on the computer.

Re:FaceTime bug lets you hear audio of person you are callin... by seanp2k2 on Monday January 28, 2019 @10:06PM (#19023382)
Re:FaceTime bug lets you hear audio of person you are callin... by samstave on Monday January 28, 2019 @10:41PM (#19023543)
Re:FaceTime bug lets you hear audio of person you are callin... by raverbashing on Tuesday January 29, 2019 @03:55AM (#19024838)
But the Windows 95 login was just for logging into the network, not the computer

I think that if you hit Cancel there it would work just as well. You wouldn't get it logged into the domain though

Re:FaceTime bug lets you hear audio of person you are callin... by rusk on Tuesday January 29, 2019 @07:33AM (#19025783)
Yes - from what I recall there was not even a pretense of security. Everything was just unencrypted FAT (VFAT rather than FAT32) and if you logged in as one user all other user's data was clearly visible - it was just a means to have your own user workspace and customisations applied. Windows 95 and everything up to (not including) XP was a toy OS for home users ... If you wanted "grown up" features you had to go for NT.
Re:FaceTime bug lets you hear audio of person you are callin... by stiGGG on Monday January 28, 2019 @11:04PM (#19023657)
Oh dear, I remember something similar was possible on iOS lockscreen multiple times. What version of Windows was that?
Re:FaceTime bug lets you hear audio of person you are callin... by samstave on Monday January 28, 2019 @11:09PM (#19023680)
95. 98 had an even better one... just hitting cancel on some login boxes would let you in.
Re:FaceTime bug lets you hear audio of person you are callin... by cheerlessbog on Monday January 28, 2019 @11:34PM (#19023797)
I believe that was by design: the dialog was an opportunity to authenticate with the domain. If you just wanted local access you could hit cancel. Remember Win9x was not a secure OS itself.
Re:FaceTime bug lets you hear audio of person you are callin... by eitland on Tuesday January 29, 2019 @03:16AM (#19024671)
Pretty sure I've seen a similar trick on XP or later as well. (I learned it from someone I didn't meet until long after I last saw a 95/98/2000 machine.)
Re:FaceTime bug lets you hear audio of person you are callin... by jodrellblank on Tuesday January 29, 2019 @03:28AM (#19024716)
Re:FaceTime bug lets you hear audio of person you are callin... by AJRF on Tuesday January 29, 2019 @06:46AM (#19025567)
!WARNING! - This now redirects to an image of a hairy testicle. I think the site owner noticed the traffic and put in a redirect.
Re:FaceTime bug lets you hear audio of person you are callin... by eMSF on Tuesday January 29, 2019 @09:09AM (#19026348)
It's been that way for years (i.e. visitors from HN get redirected).
Re:FaceTime bug lets you hear audio of person you are callin... by AJRF on Tuesday January 29, 2019 @10:06AM (#19026847)
Ah you are right, should have experimented with that.
Re:FaceTime bug lets you hear audio of person you are callin... by obituary_latte on Tuesday January 29, 2019 @06:49AM (#19025579)
Heh just saw/posted the same. I think you’re right - jwz being a little trolly.
Re:FaceTime bug lets you hear audio of person you are callin... by obituary_latte on Tuesday January 29, 2019 @06:47AM (#19025569)
wtf. Clicking your link brought me to http://i.imgur.com/rG0p0b2.gif somehow. jwz doing a referrer troll?? Anyone else see this?
Re:FaceTime bug lets you hear audio of person you are callin... by sebcat on Tuesday January 29, 2019 @08:40AM (#19026141)
Probably Referer check, copy-pasting the URL works.
Re:FaceTime bug lets you hear audio of person you are callin... by semi-extrinsic on Tuesday January 29, 2019 @01:34AM (#19024282)
Re:FaceTime bug lets you hear audio of person you are callin... by dmitriid on Tuesday January 29, 2019 @02:35AM (#19024514)
I remember an article somewhere about these kinds of bugs. A lot of medical hardware/software combos are/can be compromised. And here comes the problem: do you disclose the vulnerabilities since it means potentially killing people? How long do you wait before manufacturers acknowledge and fix the problem (and they often don't)?

So yeah, these types of vulnerabilities are very very scary.

Re:FaceTime bug lets you hear audio of person you are callin... by codedokode on Tuesday January 29, 2019 @01:27AM (#19024253)
Also, you can bypass screen lock in Ubuntu by removing the HDD [1]. The bug still is not fixed.

[1] https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1777415

Re:FaceTime bug lets you hear audio of person you are callin... by Jonnax on Tuesday January 29, 2019 @04:11AM (#19024913)
That's a bug in Unity. They dropped their own desktop environment in 18.04 for GNOME.

So it's likely it won't ever be fixed.

Re:FaceTime bug lets you hear audio of person you are callin... by laumars on Tuesday January 29, 2019 @01:38AM (#19024298)
Honestly, I wouldn’t but that in the same class if bugs as those that preceded it because if the attacker he removed the HDD he will have access to your contents anyway (unless the HDD is encrypted) and it’s not a quick and convenient process either (unlike tapping backspace multiple times).

That said, I also don’t agree that this bug should never get fixed either.

Re:FaceTime bug lets you hear audio of person you are callin... by nurettin on Tuesday January 29, 2019 @02:16AM (#19024438)
This is a very naive estimation of what might happen when someone has access to all your running software. Since it is linux, it loads executables into memory and is able to run them even when they are deleted along with runtime dependencies.

Anything that caches anything to anywhere other than disk will be accessible. Your memcache, your redis, some databases, keychains, your non-userdata browser sessions.

Re:FaceTime bug lets you hear audio of person you are callin... by laumars on Tuesday January 29, 2019 @05:53AM (#19025359)
I'm aware of that but it's a moot point because you'd be popping the storage device back in anyway. Which is why I didn't address that in my previous comment.

In any case, half the examples you've provided there are server specific and you really shouldn't be allowing untrusted physical access to your servers (nor running Xorg to be honest).

Re:FaceTime bug lets you hear audio of person you are callin... by nurettin on Tuesday January 29, 2019 @07:26AM (#19025741)
While I do agree, a lot of ideas here are still laden with hindsight.
Re:FaceTime bug lets you hear audio of person you are callin... by morganvachon on Monday January 28, 2019 @09:04PM (#19023050)
Sometimes I feel like a relic using Slackware with lilo and SysV init, then I read about exploits like that and I smile.
Re:FaceTime bug lets you hear audio of person you are callin... by omeid2 on Tuesday January 29, 2019 @12:36AM (#19024030)
I am afraid your system is _probably_ just bug ridden as any other, it is simply not popular enough to for people to find bugs.
Re:FaceTime bug lets you hear audio of person you are callin... by morganvachon on Tuesday January 29, 2019 @01:36PM (#19028748)
It's actually the opposite situation. Slackware's policy is to stick to the original software as distributed by the author with only minimal patching where necessary, so if a particular program (say, KDE) has a big support community, Slackware benefits from all those eyes on the code. This leads to a very mature and stable system at the expense of running older versions of software (though there's always the -current branch for those wishing to live on the edge).

Beyond this, the small but dedicated Slackware team is working daily to find and patch bugs when they do appear. You can look at the changelogs for examples of that workflow[1].

There's no such thing as a software project without bugs, but Slackware is consistently one of the most stable and robust OSes out there.

[1] http://www.slackware.com/changelog/

Re:FaceTime bug lets you hear audio of person you are callin... by sixothree on Monday January 28, 2019 @09:34PM (#19023223)
I remember turning on my iPhone and briefly seeing a picture of myself from a time when I had not taken any photos of myself. In fact I had not been using the front facing camera at all.

Extra creepy.

Re:FaceTime bug lets you hear audio of person you are callin... by 2stop on Monday January 28, 2019 @10:02PM (#19023363)
If someone facetimes you and hangs up, that can happen. (I've noticed).
Re:FaceTime bug lets you hear audio of person you are callin... by ta10101 on Monday January 28, 2019 @11:45PM (#19023841)
That is what happened with Signal(i was on iOS and the person i called was on android)
Re:FaceTime bug lets you hear audio of person you are callin... by Proof on Tuesday January 29, 2019 @12:34AM (#19024017)
I think user ‘sixothree’ was stating that a picture would show after unlocking the phone, not after a call. I myself, have had it happen to me several times couple months ago and thought it was really creepy. It almost seemed as if someone was using the front camera without my knowledge. Thought it to be glitch or something at that time.
Re:FaceTime bug lets you hear audio of person you are callin... by sixothree on Tuesday January 29, 2019 @09:54AM (#19026749)
This is what happened.

And I'll be honest, this is when I started losing faith in technology.

Re:FaceTime bug lets you hear audio of person you are callin... by codetrotter on Monday January 28, 2019 @10:29PM (#19023473)
I remember some people discovered that you could kill the xscreensaver lock screen on Debian with Alt+SysRq+F some years back. Well, a decade back actually — 2009.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=562884

Re:FaceTime bug lets you hear audio of person you are callin... by tuxxy on Monday January 28, 2019 @11:02PM (#19023650)
A fee years ago, I discovered that if someone was running dual monitors and using XScreenlock, you could unplug one of the monitors and it would bypass the lock screen. I have no idea if this is still possible, I've not used XScreenlock since then.
Re:FaceTime bug lets you hear audio of person you are callin... by heywire on Tuesday January 29, 2019 @07:59AM (#19025908)
On Windows 10, if you have dual screens and unplug one while the screen is locked, it will reconfigure the displays and give you a flash of what was under the lock screen. Hope you didn't leave anything sensitive on your screen!
Re:FaceTime bug lets you hear audio of person you are callin... by spockz on Tuesday January 29, 2019 @05:06PM (#19030277)
I’ve noticed this as well on my MacBook with an external screen actually. Also sometimes when resuming from sleep..
Re:FaceTime bug lets you hear audio of person you are callin... by jakoblorz on Tuesday January 29, 2019 @02:37AM (#19024522)
That's a feature, not a bug! ;)
Re:FaceTime bug lets you hear audio of person you are callin... by tedunangst on Monday January 28, 2019 @09:25PM (#19023165)
I find those bugs less puzzling because the timeline makes sense. You're not logged in, there's a prompt, you're logged in. Obvious bug in the prompt, but the A happens before B happens before C order is there. Call comes in, audio is recorded, call is accepted is not the expected order. I could imagine a bug where declining the call still accepts the call, because that still obeys the proper ordering, but this bug does not.
Re:FaceTime bug lets you hear audio of person you are callin... by Twisell on Monday January 28, 2019 @11:42PM (#19023831)
I don’t use face time often, but isn’t there a "preview" of the camera feed during the prompt? I guess so that the user can check if he’s looking decent before engaging the call.

The bug could then be that the feed is sent over the call too early instead of being used solely for this local feedback.

Re:FaceTime bug lets you hear audio of person you are callin... by smelendez on Tuesday January 29, 2019 @01:50AM (#19024350)
From the details, it sounds like "adding" the caller to the call before the call recipient accepts probably puts it in a weird state. Could be some kind of off-by-one error, where for some purposes Participant 2 is the caller and for some it's the recipient.
Re:FaceTime bug lets you hear audio of person you are callin... by konschubert on Tuesday January 29, 2019 @12:43AM (#19024056)
Edit: Deleted my comment because I felt it wasn’t constructive.
Re:FaceTime bug lets you hear audio of person you are callin... by mcpherrinm on Tuesday January 29, 2019 @01:24AM (#19024240)
Yes, I experience this routinely. As do many other people at my company.

In particular it happens when attaching external monitors while the screen is locked. There's a flash of the unlocked desktop.

I am guessing this is because the screen lock is an application drawing over top of the monitor, like XScreensaver on Linux does. A more secure-by-default architecture would have screen locking built into the display server at some lower level: If the screen is not unlocked, it will not allow the data to be passed to the GPU. It's easy for me to arm-chair architect though.

Re:FaceTime bug lets you hear audio of person you are callin... by pilsetnieks on Tuesday January 29, 2019 @01:17AM (#19024210)
There was one guy on reddit who had a scare when his computer flashed a picture of a dead person when shutting down, and he thought his computer was haunted. It turned out to be a frame from a youtube video he was watching earlier. It may be that macOS is not that good at clearing out GPU memory sometimes.
Re:FaceTime bug lets you hear audio of person you are callin... by ben_w on Tuesday January 29, 2019 @01:27AM (#19024251)
I have the exact opposite problem. When I reboot after system updates, half a dozen YouTube videos in Chrome tabs start playing over each other on the password screen. They get through about 20 seconds before I can stop the last of them.

Audio only on the password screen, but all audible.

Re:FaceTime bug lets you hear audio of person you are callin... by SilasX on Tuesday January 29, 2019 @06:09AM (#19025415)
I’ve long had a similar problem on iOS. Whenever I return to an app, I briefly see an image from a few minutes ago. Which can be bad if I’m showing the phone to someone that old state was exposing sensitive data.
Re:FaceTime bug lets you hear audio of person you are callin... by thinkling on Tuesday January 29, 2019 @01:09AM (#19024181)
I used to see this regularly but haven't noticed it in a long while. I always assumed they were doing something like a double-buffering type trick and switching framebuffers before wiping stale content from the destination.
Re:FaceTime bug lets you hear audio of person you are callin... by MagicPropmaker on Tuesday January 29, 2019 @12:48AM (#19024078)
Apple claims, falsely, that their Operating System is "secure by design". (See https://www.apple.com/business/resources/docs/iOS_Security_O... )

This is an outright lie.

However, I'm not sure a typical iOS user cares.

Re:FaceTime bug lets you hear audio of person you are callin... by mtgx on Tuesday January 29, 2019 @04:52AM (#19025105)
These are the sort of "bugs" that have barely enough plausible deniability as backdoors to make people believe they were "random" or "human error."
Re:FaceTime bug lets you hear audio of person you are callin... by scraft on Tuesday January 29, 2019 @07:48AM (#19025868)
Possibly a product owner trying out the latest build, receiving a call, accepting it, and then waiting for the call initiator to receive the message that the call has been accepted, and then start sending data and asking:

"Why doesn't it take X seconds before I can start talking".

To which the engineers possibly explained the reasons and the product owner saying:

"But I want it instant, let's bypass all this extra stuff and get a proof of concept instant answer working"

To which the engineer said:

"But we'd technically be sending data before the call has even been accepted"

To which the product owner said:

"That's okay, the user can't actually see that data, let us just get this in for now, we can worry about the security/privacy side later".

To which the engineer said "but, but, but" saw the product owners eyes glaze over and just made the commit:

Commit 1279: Remove very important security/privacy feature of ensuring no data is transmitted until the call has been accepted. This is again my best judgement, do not come to me when this blows up, please speak to the product owner.

Then went to the pub in despair.

Re:FaceTime bug lets you hear audio of person you are callin... by whamlastxmas on Tuesday January 29, 2019 @08:16AM (#19025997)
I think it's much more likely their code is a mess and it's not super obvious when stuff starts and ends and this is just an unintentional mistake.
Re:FaceTime bug lets you hear audio of person you are callin... by pbhjpbhj on Tuesday January 29, 2019 @08:29AM (#19026074)
You hear this excuse all the time, don't FAANG employ the world's very best developers?

Maybe their code is a mess for orthogonal reasons - management, profit-motive?

Aside: I thought I'd heard devs have automated analysers that step through and find all possible code paths, allowing complex code to be audited for security issues and such? Presumably that's how these sorts of bugs should be found in testing.

Re:FaceTime bug lets you hear audio of person you are callin... by swat535 on Tuesday January 29, 2019 @10:17AM (#19026944)
Since they have an impeccable interview process that only selects the brightests.. They may be all too busy implementing linked lists and inverting binary trees instead of actually delivering a working product.
Re:FaceTime bug lets you hear audio of person you are callin... by asveikau on Tuesday January 29, 2019 @03:49PM (#19029670)
> don't FAANG employ the world's very best developers?

People have to stop putting these types on a pedestal. Some of the least intelligent people I've known have worked for some very big names. You shouldn't trust someone based on who they work for or what name is attached.

Re:FaceTime bug lets you hear audio of person you are callin... by manigandham on Tuesday January 29, 2019 @12:12PM (#19027973)
>> world's very best developers

And some of the world's very worst. There are not 10s of thousands of world-class developers to hire in the first place and they would be focused on much higher-level details than implementing basic features and maintenance.

That gruntwork requires solid reliable workers with experience but the current screening processes do more harm more than help in getting that talent.

Re:FaceTime bug lets you hear audio of person you are callin... by MagicPropmaker on Tuesday January 29, 2019 @08:49AM (#19026220)
Judging from their quality issues, I'm not so sure they're attracting the "world's very best developers" any more.
Re:FaceTime bug lets you hear audio of person you are callin... by ethbro on Tuesday January 29, 2019 @09:26AM (#19026493)
Even the best developers need time to develop and robust QA.
Re:FaceTime bug lets you hear audio of person you are callin... by sonnyblarney on Tuesday January 29, 2019 @10:19AM (#19026967)
great developers with with bad process, quick turnaround, lack of ownership and bad habits can lead to a mess.

Also - maybe they inherited the code from a startup and never had the chance to refactor and so there was a mess from the start.

Either way, bugs happen. Of all kinds, even bad ones'.

More circumspect than a 'bug' is that this got through their tests. Their end-to-end testing should have picked this up.

Re:FaceTime bug lets you hear audio of person you are callin... by oddevan on Tuesday January 29, 2019 @09:23AM (#19026462)
I just keep going back to the XKCD of how "our entire field is bad at what we do": https://www.xkcd.com/2030/
Re:FaceTime bug lets you hear audio of person you are callin... by ABeeSea on Tuesday January 29, 2019 @08:30AM (#19026087)
Ah yes, it’s always the product owners fault and engineering is always fault-less. A HN classic.
Re:FaceTime bug lets you hear audio of person you are callin... by MagicPropmaker on Tuesday January 29, 2019 @08:51AM (#19026228)
Also, HN won't comment on how/why Apple insists that iOS is "secure by design". I've brought this up and it gets buried. Why?

https://www.apple.com/business/resources/docs/iOS_Security_O...

This phrase is used several times on their current website:

https://www.google.com/search?q=%22secure+by+design%22+site%...

Re:FaceTime bug lets you hear audio of person you are callin... by ethbro on Tuesday January 29, 2019 @09:32AM (#19026542)
Because they're well documented as having a more robust hardware/software security model than the dumpster fire that is Android security?
Re:FaceTime bug lets you hear audio of person you are callin... by MagicPropmaker on Tuesday January 29, 2019 @09:41AM (#19026636)
Does Android make the same claims?
Re:FaceTime bug lets you hear audio of person you are callin... by acct1771 on Tuesday January 29, 2019 @10:19AM (#19026962)
Wait, what's wrong with F-Droid, exactly?
Re:FaceTime bug lets you hear audio of person you are callin... by uberdru on Tuesday January 29, 2019 @11:46AM (#19027752)
I think this is very close to spot on, though the version I've heard from developers involved with mobile involves VP's using the app/feature once it's been deployed: "Why is my group call taking 20 seconds to connect, this is unacceptable!". Fire drill ensues.
Re:FaceTime bug lets you hear audio of person you are callin... by dec0dedab0de on Tuesday January 29, 2019 @11:24AM (#19027567)
I wish this conversation didn't sound so familiar.
Re:FaceTime bug lets you hear audio of person you are callin... by lathiat on Tuesday January 29, 2019 @01:41AM (#19024311)
It generally happens because you don’t follow a defined state machine. An example of how this might happen is when starting the call the microphone isn’t opened. Then you add someone else to the Group FaceTime, the event handler for they didn’t stop to consider if the call is active (just assumed it is) and now the code for that handler opens a new port to the microphone so that it can encrypt the audio stream differently for that recipient.

Super easy and not remotely malicious. It’s a failed state check.

The actual bug here might be different but that’s an easy example. But it may also effectively be the bug since all the examples mention adding yourself to the call.

Re:FaceTime bug lets you hear audio of person you are callin... by Hydraulix989 on Tuesday January 29, 2019 @01:45AM (#19024330)
I did a bit of WebRTC development for video chat, and the state machine for that is one of the most complicated I've ever dealt with. Even household name-brand commercial providers don't handle all of the edge cases. It took me about a week to get it right. Session negotiation gone wrong can easily cause audio to be heard before the call is established (and this will certainly happen with the naive implementation -- even Google's own reference implementation had issues).

If you're curious, check out this flowchart slide from a Google I/O WebRTC talk:

https://image.slidesharecdn.com/2014q2-geekandkranky-scalabi...

Re:FaceTime bug lets you hear audio of person you are callin... by wmf on Monday January 28, 2019 @08:14PM (#19022820)
This is a form of speculation which increases performance in the common case where the call is accepted.
Re:FaceTime bug lets you hear audio of person you are callin... by angott on Monday January 28, 2019 @08:53PM (#19023013)
I always wondered why FaceTime Audio has almost zero call establishment time on iOS, as opposed to WhatsApp or FB Messenger where you need to wait half a second before the audio feed kicks in after answering. Guess this is the reason!
Re:FaceTime bug lets you hear audio of person you are callin... by kennywinker on Monday January 28, 2019 @10:36PM (#19023517)
That has not been my experience with facetime audio. For me it’s 3-10s wait after tapping the accept-call button before audio is connected.
Re:FaceTime bug lets you hear audio of person you are callin... by gene91 on Monday January 28, 2019 @09:55PM (#19023323)
This sound horrifying. If I use a hacked/modified FaceTime client, does this mean I'll be able to hear and see the other end before they pick up, even after the fix?
Re:FaceTime bug lets you hear audio of person you are callin... by askafriend on Monday January 28, 2019 @10:29PM (#19023471)
Facetime calls are end to end encrypted so I doubt a modified client would work.
Re:FaceTime bug lets you hear audio of person you are callin... by Buge on Monday January 28, 2019 @11:58PM (#19023891)
How would E2E encryption stop a modified client? E2E protects against MITM. But we're not talking about MITM.
Re:FaceTime bug lets you hear audio of person you are callin... by jacobush on Tuesday January 29, 2019 @02:06AM (#19024397)
It could send the data but only on call accept give a session key
Re:FaceTime bug lets you hear audio of person you are callin... by lolc on Tuesday January 29, 2019 @06:36AM (#19025524)
That would still expose the pre-accept audio on accept.
Re:FaceTime bug lets you hear audio of person you are callin... by Buge on Tuesday January 29, 2019 @11:44PM (#19032748)
I wouldn't call it E2E encryption if only one party in the world has the key. E2E generally means both sides have the encryption key. But lolc points out the real problem with that scheme.
Re:FaceTime bug lets you hear audio of person you are callin... by harikb on Tuesday January 29, 2019 @12:40AM (#19024045)
I think it is fair to say all applications must be written to assume the source code is opensource / can be modified / recompiled. A recompiled app should, in theory, only sacrifice the security of the person who did it, not the remote.
Re:FaceTime bug lets you hear audio of person you are callin... by saagarjha on Monday January 28, 2019 @10:46PM (#19023574)
If FaceTime is implemented the way the parent comment mentions (which it very well may not) I don't see why you could make a client that performs a proper key exchange to set up an end-to-end call and simply pretend grab the video instead of hiding it behind the "dailing" screen?
Re:FaceTime bug lets you hear audio of person you are callin... by askafriend on Monday January 28, 2019 @11:00PM (#19023644)
"The initial FaceTime connection is made through Apple server infrastructure that relays data packets between the users’ registered devices. Using APNs notifications and Session Traversal Utilities for NAT (STUN) messages over the relayed connection, the devices verify their identity certificates and establish a shared secret for each session. The shared secret is used to derive session keys for media channels streamed via the Secure Real-time Transport Protocol (SRTP). SRTP packets are encrypted using AES-256 in Counter Mode and HMAC-SHA1. Subsequent to the initial connection and security setup, FaceTime uses STUN and Internet Connectivity Establishment (ICE) to establish a peer-to-peer connection between devices, if possible."

Source: https://www.apple.com/business/docs/iOS_Security_Guide.pdf

Re:FaceTime bug lets you hear audio of person you are callin... by saagarjha on Monday January 28, 2019 @11:04PM (#19023659)
I'm not doubting whether FaceTime is end-to-end encrypted, I'm not sure whether FaceTime sends data before the call is accepted for speculation reasons.
Re:FaceTime bug lets you hear audio of person you are callin... by jpwgarrison on Monday January 28, 2019 @10:55PM (#19023624)
Yeah, if you have a hacked iMessage client you probably could retire from bug bounties. At any rate the bug in question would pale in comparison to a rogue iMessage client.
Re:FaceTime bug lets you hear audio of person you are callin... by waz0wski on Tuesday January 29, 2019 @05:22PM (#19030424)
Modified clients are definitely possible - review the recent Project Zero research into webRTC vulnerabilities, which included a look at FaceTime and discovered several exploitable bugs

https://googleprojectzero.blogspot.com/2018/12/adventures-in...

Re:FaceTime bug lets you hear audio of person you are callin... by hopler on Monday January 28, 2019 @09:49PM (#19023294)
Similar to how Nextels cellular "push to talk" fake walkie talkies worked.
Re:FaceTime bug lets you hear audio of person you are callin... by jsjohnst on Monday January 28, 2019 @10:01PM (#19023359)
> Similar to how Nextels cellular "push to talk" fake walkie talkies worked.

Not really. The reason the PTT was virtually instant connect has nothing to do with optimization tricks, but rather is a purpose built design of the network tech it was using.

Nextel PTT didn't go over a normal cellular network, it went over something called iDEN[0]. iDEN provides a trunked radio service[1] which has a similarish feature to a conventional two-way radio. Sprint acquired Nextel and as iDEN wasn't as relevant anymore with the advances in cellular networks (despite those who actually used the PTT functionality), in 2013 Sprint shutdown the network to use it for additional LTE bandwidth in the 800mhz band[2].

[0] https://en.wikipedia.org/wiki/IDEN

[1] https://en.wikipedia.org/wiki/Trunked_radio_system

[2] https://en.wikipedia.org/wiki/Nextel_Communications

Re:FaceTime bug lets you hear audio of person you are callin... by dragonwriter on Monday January 28, 2019 @11:33PM (#19023793)
No, PTT would send audio from the caller without the receiver accepting anything, but it wouldn't send anything from the receiver without action on the receiver end.

It was obnoxious at times, but very different than the kind of privacy invasion that the receiver's sending data without active involvement is.

Re:FaceTime bug lets you hear audio of person you are callin... by mcpherrinm on Tuesday January 29, 2019 @01:46AM (#19024335)
This seems like a state machine bug to me.

If you consider what happens when you add a third person to a call: You start sending them everyone's audio!

That's the desired behavior and exactly what happened here.

Except the client should have probably checked if the call had been accepted first. That's why I say it's a state machine bug: The "Send audio" function should have never been activated in state "waiting to accept".

Re:FaceTime bug lets you hear audio of person you are callin... by auiya on Tuesday January 29, 2019 @10:08AM (#19026854)
> If you consider what happens when you add a third person to a call: You start sending them everyone's audio!

Not before they accept the call connection request you don't.

Re:FaceTime bug lets you hear audio of person you are callin... by mcpherrinm on Wednesday January 30, 2019 @01:42AM (#19033198)
Well clearly. That's the bug.
Re:FaceTime bug lets you hear audio of person you are callin... by laythea on Monday January 28, 2019 @08:20PM (#19022851)
Maybe it did used to work, but now because of a seemingly unrelated bug fix, it has broken it. Wack-a-mole style.

Takes the engineering right out of software engineering if you ask me.

Re:FaceTime bug lets you hear audio of person you are callin... by rahoulb on Tuesday January 29, 2019 @02:35AM (#19024513)
Although others have mentioned state machines I wonder if it’s a deliberate feature with an unforeseen side effect.

The Apple Watch walkie talkie feature allows you to talk with anyone who has approved you and has walkie talkie switched on.

But it appears to use FaceTime under the hood as when it was launched it failed if FaceTime was switched off on your phone.

So the “auto answer” mechanism is already in there, just getting triggered at the wrong time?

Re:FaceTime bug lets you hear audio of person you are callin... by segmondy on Monday January 28, 2019 @09:13PM (#19023087)
Most likely 2 different teams worked on it. One worked on accepting calls, the other worked on transmitting audio, another probably worked on video. Then it got integrated and complete e2e testing wasn't done.
Re:FaceTime bug lets you hear audio of person you are callin... by consumer451 on Monday January 28, 2019 @10:40PM (#19023541)
How would an e2e test catch this though? What would the test condition be? Wouldn’t I have to be checking for audio from the other party during all seemingly random events like adding a person to the call group?

Apologies in advance for my ignorance, I haven’t written code for a long time.

Re:FaceTime bug lets you hear audio of person you are callin... by flukus on Monday January 28, 2019 @11:41PM (#19023830)
> How would an e2e test catch this though?

I doubt there would be a specific test (or maybe there would, real testers are better than me at thinking of this stuff), but there should be logs for events like "microphone turned on" and "user joined group chat" and the testers should be monitoring those logs.

Re:FaceTime bug lets you hear audio of person you are callin... by ddebernardy on Monday January 28, 2019 @11:23PM (#19023746)
Not sending any audio or video until a call gets accepted seems like a clearcut test case. They probably have a few tests like that, too, but forgot to add weird edge cases.
Re:FaceTime bug lets you hear audio of person you are callin... by bduerst on Monday January 28, 2019 @09:34PM (#19023217)
This are my thoughts as well. Probably a recent release that exposed this also didn't go through full e2e testing because hey, it passed previously.
Re:FaceTime bug lets you hear audio of person you are callin... by nvarsj on Tuesday January 29, 2019 @03:58AM (#19024850)
You’re curious how a complex piece of software can have a bug? Come on now. You’re either naive or being hyperbolic.
Re:FaceTime bug lets you hear audio of person you are callin... by blablabla123 on Tuesday January 29, 2019 @04:45AM (#19025074)
> I'm not suggesting malice but I do wonder at the lack of defensive programming.

I've never worked at Apple but neither have I in 10 years seen people truly appreciate any attempts I did in defensive programming. On the contrary, usually I hear - sometimes loud - complaints about that. Usually from fellow engineers when they see it but on occasions also from non technical people.

It's a joke that everybody is so sad about bad application security but at the same time virtually nobody cares about it at all when involved in an actual development project.

Classical case of NIMBY. FWIW Apple's security is far over average compared to other companies. But I guess they cannot isolate themselves 100%.

Re:FaceTime bug lets you hear audio of person you are callin... by update on Tuesday January 29, 2019 @01:41PM (#19028802)
> I mean QA & Testing should catch it, sure.

I believe they have been working on FaceTime Group for 5+ years now.

In 2015, Modern Family had an episode where the entire plot focused around the family using FaceTime on their iPhones --- but they had the Group feature[1]! I remember being blown away when I saw that, figured it'd be coming in the next iOS update. It didn't. 4 years later, they finally released it..then recalled it immediately

[1] https://www.mlive.com/entertainment/index.ssf/2015/02/tech_r...

edit: managed to find a short clip from said Modern Family episode: https://www.youtube.com/watch?v=vy3jUOBxQuI

Though in the full episode you see a lot more of the Group feature

Re:FaceTime bug lets you hear audio of person you are callin... by JangoSteve on Tuesday January 29, 2019 @10:10AM (#19026873)
I'm wondering if it's something really simple, like comparing the unique number of callers versus the total number who have accepted the call.

Imagine a method for group calling that returns whether or not the call should be considered active or not by seeing if the number of callers is equal to the number who have accepted the call. But now imagine the method that tallies up the number of callers does a unique count by phone number, while the method that tallies how many people have accepted the call does not.

Since adding your own number is adding a caller who has already accepted a call, you end up with unique_callers (2, you and them) == total_accepted (2, you and you).

This could be tested by adding a third person to a group call twice (if iOS will let you do that) instead of adding yourself to the call.

Furthermore, if the interface on the recipient's phone only looks at whether or not they've accepted the call, that would explain why the call doesn't auto-accept on their end and go into the call before they've accepted or rejected the call.

Re:FaceTime bug lets you hear audio of person you are callin... by mygo on Monday January 28, 2019 @08:21PM (#19022861)
doesn’t help that their bug bounty program is invite-only ( at least the last time I checked )
Re:FaceTime bug lets you hear audio of person you are callin... by saagarjha on Monday January 28, 2019 @09:19PM (#19023131)
Their bug bounty program seems to mostly be aimed at jailbreakers, rather than bugs like these.
Re:FaceTime bug lets you hear audio of person you are callin... by mygo on Tuesday January 29, 2019 @09:10AM (#19026360)
They can aim it at who they want. When it's invite-only they'll only get what they're looking for. I'm certain that just having open bug hunters looking would have at least brought this up. I remember noticing this bug myself but also remember it not being worth my while to report it.
Re:FaceTime bug lets you hear audio of person you are callin... by ct520 on Monday January 28, 2019 @09:41PM (#19023262)
This reminds me of having the Nokia 3650 phone. I could hear phone calls before the call was accepted.. awesome uh feature .
Re:FaceTime bug lets you hear audio of person you are callin... by JustSomeNobody on Tuesday January 29, 2019 @07:29AM (#19025762)
I agree this should have been caught in QA/dev testing. However, I would bet a dollar this wasn't "Some Engineer" deciding to do it this way. This design was the culmination of some back and forth discussions and it is this way for a sound (no pun) reason.
Re:FaceTime bug lets you hear audio of person you are callin... by skywhopper on Tuesday January 29, 2019 @07:32AM (#19025779)
The code involved is a lot more complicated, involving a lot more pieces written by different teams working in concert with each other. There's not a single routine that takes the steps you describe that got a few lines out of order or something.
Re:FaceTime bug lets you hear audio of person you are callin... by C14L on Tuesday January 29, 2019 @05:21AM (#19025230)
If the implementation is complicated enough, the code that opens the mic and the code that accepts the call are so far away from each other that its impossible to see. That's why keeping things simple is the greatest art in programming.
Re:FaceTime bug lets you hear audio of person you are callin... by iforgotpassword on Wednesday January 30, 2019 @03:57PM (#19039391)
Our company's phone system, or our provider, had a problem with outgoing calls once: you couldn't call users of a certain mobile provider, but only if they were currently using GSM. Anything newer would make it work. The symptom was that even when the cell user picked up, you'd still here the sound like their phone is still ringing. That alone was already mindboggling to me, but the crazy part was that with certain phone models (at our company), the cell user would be able to hear you while you still thought their phone was ringing.
Re:FaceTime bug lets you hear audio of person you are callin... by padiyar83 on Monday January 28, 2019 @09:09PM (#19023068)
Yeah. Never attribute to malice that which is adequately explained by stupidity ~Hanlon's razor
Re:FaceTime bug lets you hear audio of person you are callin... by foobaw on Tuesday January 29, 2019 @05:21PM (#19030417)
Agreed - looks like something very simple to add as a test-case. If not manual, an automated QA process could've easily caught this if it was even remotely robust enough.

The steps to reproduce is trivial so I'm shocked.

Re:FaceTime bug lets you hear audio of person you are callin... by m3kw9 on Tuesday January 29, 2019 @03:46PM (#19029657)
Is rarely that they didn’t test it, it was likely caused by a new scenario that they have not thought of that brings out this bug.
Re:FaceTime bug lets you hear audio of person you are callin... by jeromebaek on Tuesday January 29, 2019 @07:59AM (#19025905)
An old product like FaceTime comes with tons of legacy code. Mistakes like this while fiddling with legacy code is not unreasonable.
Re:FaceTime bug lets you hear audio of person you are callin... by Haga on Tuesday January 29, 2019 @05:26AM (#19025257)
When in doubt collect all the data.
Re:FaceTime bug lets you hear audio of person you are callin... by m3kw9 on Monday January 28, 2019 @11:07PM (#19023672)
Would be a server bug for sure
Re:FaceTime bug lets you hear audio of person you are callin... by StreamBright on Tuesday January 29, 2019 @03:43AM (#19024785)
Lack of formal methods in the design phase. It would be trivial to express a rule that you cannot hear audio from the called person before they accept it with it.
Re:FaceTime bug lets you hear audio of person you are callin... by ipstas on Monday January 28, 2019 @11:38PM (#19023813)
To get a bug like that is easy. The question, who the hell still using FB facebug. And why?
Re:FaceTime bug lets you hear audio of person you are callin... by jtr_47 on Monday January 28, 2019 @10:18PM (#19023428)
Maybe it's not a bug, but something akin to a backdoor that has been uncovered.
Re:FaceTime bug lets you hear audio of person you are callin... by TomK32 on Tuesday January 29, 2019 @02:55AM (#19024586)
I'm pretty sure that person also wrote a few lines so the phone being called won't show there's a call... /tinfoil
Re:FaceTime bug lets you hear audio of person you are callin... by throwaway415415 on Tuesday January 29, 2019 @01:06AM (#19024162)
Abstraction. I can tell you with 100% confidence that any of these logic bugs are created by unecessary abstraction.

Anybody working in security will tell you the same. Piles of abstractions make it impossible to find out these bugs. You need a month of work to understand these codebases, often only the main developer has the architecture in its head.

Re:FaceTime bug lets you hear audio of person you are callin... by saagarjha on Tuesday January 29, 2019 @03:38AM (#19024757)
> I can tell you with 100% confidence that any of these logic bugs are created by unecessary abstraction.

That's a lot of confidence…

Re:FaceTime bug lets you hear audio of person you are callin... by aphextron on Monday January 28, 2019 @08:29PM (#19022891)
Apple's application programming has fallen off a cliff in the last 4 years. I blame Swift. There's nothing wrong with the language itself, but its outward similarities to.... other dynamic languages I feel has led to a rot in the core of what was once a rock solid culture of embedded C/C++/Objective-C programmers building robust, well architected applications. The average Apple app today is just as buggy and disjointed as anything else on the App Store, and that never used to be the case.
Re:FaceTime bug lets you hear audio of person you are callin... by maxerickson on Monday January 28, 2019 @08:30PM (#19022900)
You need to integrate the famous iTunes into this thesis.

(people have complained about it approximately since it was released)

Re:FaceTime bug lets you hear audio of person you are callin... by ImprovedSilence on Monday January 28, 2019 @09:00PM (#19023033)
>> people have complained about it approximately since it was released

and I ain't gonna stop complaining until I find a suitable music player to replace it!

Re:FaceTime bug lets you hear audio of person you are callin... by aphextron on Monday January 28, 2019 @08:32PM (#19022907)
>You need to integrate the famous iTunes into this thesis.

Desktop iTunes is a dumpster fire, but their iOS software is what I was specifically referring to.

Re:FaceTime bug lets you hear audio of person you are callin... by jimmaswell on Monday January 28, 2019 @11:45PM (#19023847)
I actually liked some of the versions of iTunes for Windows back when I had to use it with an iPod Touch around 2008 to 2012 or so. For just playing music from my music library, the interface wasn't bad. You just had to turn off the option to automatically convert everything into Apple's format.
Re:FaceTime bug lets you hear audio of person you are callin... by peteretep on Monday January 28, 2019 @09:19PM (#19023129)
iTunes has always felt robust and well-architected, but it's UI has been a dumpster fire since whenever.
Re:FaceTime bug lets you hear audio of person you are callin... by Gigablah on Monday January 28, 2019 @10:37PM (#19023520)
"This app is preventing shutdown". Yep, it's always iTunes.
Re:FaceTime bug lets you hear audio of person you are callin... by audiometry on Monday January 28, 2019 @09:29PM (#19023192)
No way. I regularly have problems with it hanging or just ceasing to respond to “play” command. Ana this in on OS X, not windows.
Re:FaceTime bug lets you hear audio of person you are callin... by saagarjha on Monday January 28, 2019 @09:23PM (#19023145)
Most of iOS is still written using Objective-C, including FaceTime. Swift has nothing to do with this.
Re:FaceTime bug lets you hear audio of person you are callin... by aphextron on Monday January 28, 2019 @09:49PM (#19023295)
>Most of iOS is still written using Objective-C, including FaceTime. Swift has nothing to do with this.

Most of iOS is still great. The problem is all the cruft that has developed since around 7.0. It just seems like an endless march of features at all expense.

Re:FaceTime bug lets you hear audio of person you are callin... by saagarjha on Monday January 28, 2019 @09:53PM (#19023316)
Swift came out along iOS 8, just FYI. Is there some other cruft you're talking about?
Re:FaceTime bug lets you hear audio of person you are callin... by zozbot123 on Monday January 28, 2019 @08:32PM (#19022912)
What? Objective C is a lot more dynamic than Swift - which was the whole point of making a new language, albeit Swift itself is not quite as well-developed, highly-performing or safe as, e.g. Rust.

I think it's programming practices themselves that have fallen off a cliff, at least in the non-FLOSS world, and nothing specific to Apple. You can even see this in the dumpster-fire that's popularly known as "Windows 10", as well as in the latest versions of Mac OS X which are a lot slower and less user-friendly than their predecessors.

Re:FaceTime bug lets you hear audio of person you are callin... by aphextron on Monday January 28, 2019 @08:37PM (#19022931)
>What? Objective C is a lot more dynamic than Swift

Sure, that could be argued. But with Objective-C, you still had exposure to the "metal". You had to understand what a pointer is, and why you would want to use it. You had to understand memory management, even though ARC does the job (mostly). It was firmly entrenched in the world of memory efficient embedded programming that mobile started out as, but now that developers coming from Javascript/Python land see a familiar syntax they've brought their patterns with them as well.

Re:FaceTime bug lets you hear audio of person you are callin... by MBCook on Monday January 28, 2019 @08:51PM (#19022999)
So… your theory is that if people understood pointers this wouldn’t have happened? I don’t think that follows.
Re:FaceTime bug lets you hear audio of person you are callin... by aphextron on Monday January 28, 2019 @09:01PM (#19023040)
>So… your theory is that if people understood pointers this wouldn’t have happened?

Yes. But it has nothing to do with pointers specifically, just the mindset and training of the average developer who has had experience with them, vs. the average developer who has not.

There's an entire generation of developers now graduating from CS programs, hiring into Apple, and getting dumped on these application teams with zero real world experience and their only language being Python or Swift. The result is you have tons of brilliant people who can quickly whip up a DFS algorithm, but don't understand that using 4MB of RAM for a JPEG is unnacceptable, or that whatever dynamic thing they are asking the runtime to do might not always work as intended. That's why we get these massive feature lists nobody asked for with every iOS release, and zero emphasis on performance.

Re:FaceTime bug lets you hear audio of person you are callin... by JKCalhoun on Tuesday January 29, 2019 @12:44AM (#19024062)
I think you over-simplify — engineers slot into different roles/disciplines within large companies.

There are going to be engineers that have to deal with driver-level code that know full well the limitations of memory constraints, thread overhead, etc.

No doubt you're describing the other half — the app engineers that use the API/SPI's. It might even be argued though that, given a well defined API, they should not have to worry about how much memory a JPEG requires ... the API decompressing the image only when rendering to the destination or what-have-you. Pointers, memory management should be managed by the low-level parts of the language or OS/kernel.

I happen to like the bit-banging, pointer walking, free-wheeling world of straight C but I don't begrudge higher level languages that are designed to tackle the more modern pressures of concurrency and "asynchronicity".

Re:FaceTime bug lets you hear audio of person you are callin... by tedunangst on Monday January 28, 2019 @09:26PM (#19023173)
Also failing to see the connection between this bug and using 4MB for a JPEG.
Re:FaceTime bug lets you hear audio of person you are callin... by saagarjha on Monday January 28, 2019 @09:24PM (#19023160)
> The result is you have tons of brilliant people who can quickly whip up a DFS algorithm, but don't understand that using 4MB of RAM for a JPEG is unnacceptable, or that whatever dynamic thing they are asking the runtime to do might not always work as intended.

I’m not sure where you’re getting this anecdote from, because I have not found it to be at all true in practice.

Re:FaceTime bug lets you hear audio of person you are callin... by josephg on Monday January 28, 2019 @10:29PM (#19023475)
I’m not sure about the situation at Apple, but this is 100% true in the web development world today; with the exception that many of the new programmers hired straight out of General Assembly and the like can’t implement a DFS algorithm either.

It’s a nightmare for security and performance - the number of obvious, blatant security issues I’ve spotted and fixed just through luck alone is horrifying.

Re:FaceTime bug lets you hear audio of person you are callin... by saagarjha on Monday January 28, 2019 @10:42PM (#19023547)
I'm sorry, but I don't know what "General Assembly" is. I live in the US, so is this some part of a degree program in your country (if you live somewhere else) that I'm not aware of?

But coming back to your point, there have always been new engineers with weak skills, just like there have always been smart engineers as well. I don't think the choice of programming language changes this fact significantly, although certain languages may have a slightly higher proportion of inexperienced programmers than others.

Re:FaceTime bug lets you hear audio of person you are callin... by josephg on Monday January 28, 2019 @11:22PM (#19023739)
General Assembly is one of the popular US 3 month coding bootcamps. There are others in the US, but I’m not familiar with their carriculums.

As programming gets easier to learn, people spend less time learning programming. This has a number of negative knock-on effects, eg less understanding & focus on correctness, performance, security, etc. Obviously there’s lots of wider benefits too - but I suspect that the average person writing objective-c today spent more time studying programming than the average person writing swift today.

It sounds like we generally agree on that - but my claim is that this effect size is big enough to dominate almost all other considerations. I suspect the average C program is more secure than the average JavaScript web app, despite how the absurd difficulty in writing correct C, just because of the ratio of new and old programmers in both communities.

Re:FaceTime bug lets you hear audio of person you are callin... by pbh101 on Monday January 28, 2019 @09:17PM (#19023113)
One of the headlining features of the latest iOS release was performance.
Re:FaceTime bug lets you hear audio of person you are callin... by hopler on Monday January 28, 2019 @09:51PM (#19023305)
That's computing's tick tock release pattern in general. Tick new features, tock optimizes performance.
Re:FaceTime bug lets you hear audio of person you are callin... by jekub on Tuesday January 29, 2019 @06:12AM (#19025424)
Then, how do you explain that the last update improved performance a lot on older devices ? Last time I've checked there was no hardware upgrades in the downloaded update...
Re:FaceTime bug lets you hear audio of person you are callin... by jsjohnst on Tuesday January 29, 2019 @07:01AM (#19025644)
Where did GP say anything about hardware?